• asp.net中Session过期设置方法


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

    一、全局网站(即服务器)级

    IIS-网站-属性-Asp.net-编辑配置-状态管理-会话超时(分钟)-设置为120,即为2小时,即120分钟后如果当前用户没有操作,那么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.Timeout = 30;即可临时修改某页面的会话过期时间。

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

    [c-sharp] view plaincopyprint?
     
    1. TimeSpan SessTimeOut = new TimeSpan(0, 0, System.Web.HttpContext.Current.Session.Timeout, 0, 0);  

    其中,二和三的设置,体现在Web.config中即:

    1. <?xml version="1.0"?>  
    2. <configuration>  
    3. <system.web>  
    4. <authentication mode="Forms" >  
    5. <forms name="AuthLogin" loginUrl="/Login.aspx" protection="All" timeout="360" slidingExpiration="true"/>  
    6. </authentication>  
    7. <sessionState mode="InProc"  cookieless="false" timeout="20" />  
    8. </system.web>  
    9. <location path="Login.aspx">  
    10. <system.web>  
    11. <authorization>  
    12. <allow users="*" />  
    13. </authorization>  
    14. </system.web>  
    15. </location>  
    16. </configuration>   

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

    另外一个值得注意 的地方。

    在设置二处,设置会话超时(SessionState)120分钟,而同时用forms认证,设置为“00:15:00”,即15分钟,并且slidingExpirationo为false,则真正生效的Session过期时间是多少呢?

    有效的结果是SessionState的设置,即120分钟。

    如果有设置Session过期时间没有生效的,请检查以上几处配置。

  • 相关阅读:
    mybatis中的配置文件的约束
    win10下PHP开发环境搭建
    装饰器的理解
    在iis上添加woff字体文件读取
    转发:使用sql命令查询视图中所有引用的基础表
    转:C4项目中验证用户登录一个特性就搞定
    转载:NSobject官方介绍
    thinkphp生命周期
    array_intersect_assoc — 带索引检查计算数组的交集
    array_flip — 交换数组中的键和值
  • 原文地址:https://www.cnblogs.com/mvc2014/p/3670840.html
Copyright © 2020-2023  润新知