C# 在.net mvc应用程序中检查/获取IIS值
需要:尝试为超时操作实现javascript重定向,并且需要知道设置超时的时间间隔。重定向强制用户重新登录。我想从IIS获取此值,以匹配那里的超时C# 在.net mvc应用程序中检查/获取IIS值,c#,asp.net,asp.net-mvc,asp.net-mvc-4,iis,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Iis,需要:尝试为超时操作实现javascript重定向,并且需要知道设置超时的时间间隔。重定向强制用户重新登录。我想从IIS获取此值,以匹配那里的超时 问题:是否可以使用.net mvc framework检索IIS设置值?如何获取驻留在ASP设置下的超时值?您可以使用类(Microsoft.Web.Administration.dll)检索IIS值。 正如Jonesy所说,您可以通过cookie或其他方式将超时传递回浏览器 要获取ASP.NET会话超时,我建议您在web.config文件中指定所需
问题:是否可以使用.net mvc framework检索IIS设置值?如何获取驻留在ASP设置下的超时值?您可以使用类(Microsoft.Web.Administration.dll)检索IIS值。 正如Jonesy所说,您可以通过cookie或其他方式将超时传递回浏览器 要获取ASP.NET会话超时,我建议您在web.config文件中指定所需的超时:
<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;
//如果是根应用程序,则路径为“/”
var configPath=“/YourApplicationName”;
var config=System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(configPath);
//获取与节相关的对象。
var sessionSection=(System.Web.Configuration.SessionStateSection)config.GetSection(“System.Web/sessionState”);
//获取会话超时值
var timeOut=SessionSection.timeOut;
有关参考资料,请参阅:
超时可以存储为静态,以便在需要时检索
您还可以从当前会话中检索设置(但我认为这不是您所需要的):
System.Web.HttpContext.Current.Session.Timeout要获取ASP.NET或ASP.Classic应用程序中的IIS会话超时值(以分钟为单位),请执行以下操作:
Session.Timeout
此值对应于在IIS管理器中选择网站并导航到以下任一位置时将找到的值:
ASP.NET
- ASP.NET-->会话状态-->Cookie设置-->超时(分钟)
- IIS->ASP-->会话属性-->超时