Session设置过期时间的方法 - 极悦
首页 课程 师资 教程 报名

Session设置过期时间的方法

  • 2022-12-19 10:24:57
  • 1979次 极悦

在Asp.net应用中,很多人会遇到Session的过期设置冲突。其中,可以设置四个Session的过期时间:

全球网站(服务器)级

IIS-网站-属性-Asp.net-编辑配置-状态管理-session超时时间(分钟)-设置为120,也就是2小时,即120分钟后,如果当前用户没有任何动作,那么Session它会自动过期。

网站层面

IIS-网站-特定网站(如DemoSite)-属性-Asp.net,有两个选项,一个是“编辑全局配置”,一个是“编辑配置”。

如果“编辑全局配置”,就跟上次配置一样。

如果“编辑配置”,只针对当前站点。因为一个服务器可能有很多独立的网站。

1.继续选择“状态管理”-会话超时(分钟)-设置为360,即360分钟。效果同上,只针对当前站点。

2.身份认证-表格-库克加班,选择“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.Timeout = 30; 您可以临时修改页面的session过期时间。

查看某个Session的过期时间,就可以使用了

查看 plaincopy 到剪贴板打印?

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中是:

查看 plaincopy 到剪贴板打印?

<?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.网络>  
<授权>  
<allow users="*" />  
</授权>  
</system.web>  
</location>  
<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>
</位置>
</配置>

以上四种设置的优先级为页面级>应用级>网站级>服务器级。换句话说,如果页面设置为20分钟,网站设置为120分钟,那么,显然以20分钟为有效过期时间。

另一个值得注意的地方。

在两个地方,设置session超时时间(SessionState)120分钟,同时形成鉴权,设置为“00:15:00”即15分钟,同时滑动Expirationo为false,才真正生效Session的过期时间是多少?

有效结果是 SessionState 建立,即 120 分钟。

如果有设置Session过期时间不生效,请检查上面的配置。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交