当它';s未在配置中设置
本文关键字:配置 设置 当它 | 更新日期: 2023-09-27 18:23:44
我正在实现我自己的会话提供程序,想知道是否在会话提供程序中自动设置了默认值20分钟?无论配置文件中是否有条目,都会提供此值吗?
如果不是,我的会话提供者应该从另一个位置获得它吗?
我在全局配置文件中找不到值,但它是在某个地方定义的。
使用以下代码,您可以获得会话超时值,无论它是否在本地web.config中定义。
Configuration conf = WebConfigurationManager.OpenWebConfiguration(System.Web.Hosting.HostingEnvironment.ApplicationVirtualPath);
SessionStateSection section = (SessionStateSection) conf.GetSection("system.web/sessionState");
int timeout = (int) section.Timeout.TotalMinutes;
尝试使用:
System.Int64 timeout = System.Web.HttpContext.Current.Session.Timeout; // The time-out period, in minutes
在Global.asax中,您可以设置
会话超时
在Session_Start中,或将其设置在代码中的其他位置。
http://msdn.microsoft.com/en-us/library/aa478952.aspx
根据我上面链接的文章,如果没有在任何地方设置Timeout值,则将使用默认值20分钟。自定义提供程序和内置提供程序似乎都是这样。
您只需使用Session.Timeout即可获得值