查看/获取.net mvc应用程序中的IIS值
本文关键字:IIS 应用程序 mvc 获取 net 查看 | 更新日期: 2023-09-27 18:14:45
需要:尝试实现一个javascript重定向的超时动作,需要知道设置超时的间隔。重定向强制用户重新登录。我想从IIS获得这个值来匹配那里的超时。
问题:是否可以使用。net mvc框架检索IIS设置值?我如何获得驻留在ASP设置下的超时值?
在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