asp.net 设置session失效时间的多种办法
来源:互联网 发布:过期域名注册 编辑:程序博客网 时间:2024/05/20 17:27
关于session失效这个问题看似简单,如果搞不好会非常坑爹的,下面就详细说说设置session失效时间的办法。
一、服务器设置session
IIS-网站-属性-Asp.net-编辑配置-状态管理-会话超时(分钟)-设置为120,即为2小时,即120分钟后如果当前用户没有操作,那么Session就会自动过期。
二、网站设置session
IIS-网站-具体网站(如DemoSite)-属性-Asp.net,此时有两个选项,一个是“编辑全局配置”,一个是“编辑配置”。
如果“编辑全局配置”,就和上个配置一样。
如果“编辑配置”,则只对当前网站生效。因为一个服务器可能有很多独立网站。
1、继续选择“状态管理”-会话超时(分钟)-设置为360,即360分钟。效果同上,只不过只对当前网站生效。
2、身份认证-Forms-Cooke超时,选择"12:00:00",即12个小时。可选项共有以下八项:
00:15:00
00:30:00
01:00:00
02:00:00
04:00:00
08:00:00
12:00:00
1:00:00:00
即最长24小时,最小15分钟。这是默认的配置。在应用中可以自由定制。
三、应用程设置 session
同网站管理,只不过作用域仅限当前应用程序。
既可以在web.config中设置,也可以在Global.asax设置:
void Session_Start(object sender, EventArgs e) { // 在新会话启动时运行的代码 600分钟Session.Timeout = 600; }
四、页面设置session
在某页面中,设置Session.Timeout = 30;即可临时修改某页面的会话过期时间。
查看某个Session的过期时间
TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0); TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);
其中,网站和应用程序的设置,体现在Web.config中即:
网站:
<?xml version="1.0"?> <configuration> <system.web> <authentication mode="Forms" > <forms name="AuthLogin" loginUrl="/Login.aspx" protection="All" timeout="360" slidingExpiration="true"/> </authentication> <sessionState mode="InProc" cookieless="false" timeout="20" /> </system.web> <location path="Login.aspx"> <system.web> <authorization> <allow users="*" /> </authorization> </system.web> </location> </configuration>
应用程序:
<?xml version="1.0"?><configuration><system.web><authentication mode="Forms" ><forms name="AuthLogin" loginUrl="/Login.aspx" protection="All" timeout="360" slidingExpiration="true"/></authentication><sessionState mode="InProc" cookieless="false" timeout="20" /></system.web><location path="Login.aspx"><system.web><authorization><allow users="*" /></authorization></system.web></location></configuration>
以上四处设置的优先级为:页面级>应用程序级>网站级>服务器级。
换句话说,如果页面设置为50分钟,网站设置为120分钟,那么,显然以50分钟为生效的过期时间。
另外一个值得注意 的地方。
在设置二处,设置会话超时(SessionState)120分钟,而同时用forms认证,设置为“00:15:00”,即15分钟,并且slidingExpirationo为false,则真正生效的Session过期时间是多少呢?
有效的结果是SessionState的设置,即120分钟。
如果有设置Session过期时间没有生效的,请检查以上几处配置。
- asp.net 设置session失效时间的多种办法
- ASP.NET session时间的设置方法
- ASP.NET session时间的设置
- ASP.NET session时间的设置
- ASP.NET session时间的设置
- ASP.NET设置session时间
- ASP.net--Session时间设置
- 设置Session失效时间
- 设置Session失效时间
- session失效时间设置
- 设置session失效时间
- 设置session失效时间
- session失效时间设置
- session失效时间设置
- session 设置失效时间
- 三种设置session的失效时间
- ASP.NET设置Session过期时间
- ASP.NET设置Session过期时间
- 程序员的情书
- linux中创建so文件和使用so文件简单模版
- java静态方法和实例方法的区别
- ubuntu下构建android 开发环境
- 生成随机数
- asp.net 设置session失效时间的多种办法
- Google Mock启蒙篇matcher详细尽说明
- 改善网页设计的10个绝佳SEO建议
- 关于反编译 APK 报错
- shell脚本给我带来的一些坑
- .NET页面之间传值的方法总结
- java中循环计时
- Redis起步
- android开发之Dialog和Toast