查看/获取.net mvc应用程序中的IIS值

本文关键字:IIS 应用程序 mvc 获取 net 查看 | 更新日期: 2023-09-27 18:14:45

需要:尝试实现一个javascript重定向的超时动作,需要知道设置超时的间隔。重定向强制用户重新登录。我想从IIS获得这个值来匹配那里的超时。

问题:是否可以使用。net mvc框架检索IIS设置值?我如何获得驻留在ASP设置下的超时值?

查看/获取.net mvc应用程序中的IIS值

在ASP. js中获取IIS会话超时值(以分钟为单位)。. NET或ASP经典应用:

Session.Timeout

这个值对应于当你在IIS管理器中选择你的网站并导航到其中一个时你会发现的值:

ASP。

  • ASP。. NET ->会话状态-> Cookie设置->超时时间(以分钟为单位)

经典ASP

  • IIS -> ASP -> Session属性-> timeout

您可以通过使用ServerManager类(Microsoft.Web.Administration.dll)检索IIS值。就像Jonesy说的,然后你可以通过cookie或其他方式将超时返回给浏览器。

获取ASP。. NET会话超时,我建议您指定所需的超时在您的web。配置文件:

<configuration>
  <system.web>
    <sessionState 
       mode="InProc"
       cookieless="true"
       timeout="30" />
  </system.web>
</configuration>

那么你可以使用下面的代码读取超时:

 //if it is a root application, then the path will be "/"
 var configPath = "/YourApplicationName";
 var config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(configPath);
 // get the object related to the <sessionSate> section.
 var sessionSection = (System.Web.Configuration.SessionStateSection)config.GetSection("system.web/sessionState");
 // get the session timeout value
 var timeOut= SessionSection.Timeout;

参考:如何:访问ASP。NET配置设置编程

超时可以作为静态存储,以便在需要时检索。

你也可以从当前会话中检索设置(但我不认为这是你需要的):System.Web.HttpContext.Current.Session.Timeout