如果未在配置中设置会话提供程序,如何获取会话超时值?

10 c# asp.net

我目前正在实现自己的会话提供程序,并且想知道如果配置文件中的条目不存在,或者我的会话提供程序是否应该从其他地方获取,则会话提供程序中是否设置了默认的20分钟.

小智 15

我在全局配置文件中找不到该值,但它已在某处定义.

使用以下代码,您可以获取会话超时值,无论它是否在本地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;
Run Code Online (Sandbox Code Playgroud)


Ste*_*hlf 8

尝试使用:

System.Int64 timeout = System.Web.HttpContext.Current.Session.Timeout; // The time-out period, in minutes
Run Code Online (Sandbox Code Playgroud)