zoukankan      html  css  js  c++  java
  • 设置C#Web网页Session超时丢失时间

    C# Web网站

    有时候在web.config设置sessionState 或者类文件里设置Session.Timeout,在IIS里访问时每次都是达不到时间就超时,原因是因为在IIS中设置了Session的超时时间,IIS里设置Session方法为: 

    1.IIS图形界面设置

    IIS6    在IIS里面右键点击默认网站->主目录->应用程序设置里点配置->选项->启用会话状态->会话超时那里设置时间 
    IIS7.5 点击站点->功能视图->ASP->会话属性->超时

    再web.config中设置Session过期时间方法:

      <system.web>
        <!--最大请求长度,单位为kb-->
        <compilation debug="true" targetFramework="4.6" />
        <httpRuntime targetFramework="4.6" maxRequestLength="409600"  />
        <httpModules>
          <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" />
        </httpModules>
        <!--<sessionState mode="InProc" timeout="20" />-->
      </system.web>

    timeout   设置经过多少分钟后服务器自动放弃Session信息。默认为20分钟;

    当用户登录网站后较长一段时间没有与服务器进行交互,将会导致服务器上的用户会话数据(即session)被销毁。此时,当用户再次操作网页时,如果服务器进行了session校验,那么浏览器将会提醒用户session超时。

    下面说一下如何解决用户登录后较长时间未操作而导致的session失效的问题?

    一般情况下下,我们首先想到的是,通过改变服务器的配置,延长服务器的session超时时间。
    在Tomcat服务器和项目的的web.xml文件中有如下节点内容:

    <session-config>
        <session-timeout>30</session-timeout>
    </session-config>


    这里的30表示session的超时时间,单位为分钟,如果用户登录后在30分钟内没有与服务器交互,那么当前用户的session将失效。
    我们可以配置一个更大的数值(比如60),就可以延长session的超时时间,如果将该值改为0或负数的话,则表示session永不失效。
  • 相关阅读:
    IOS开发--第三阶段--微博(8)(程序5)
    IOS开发--第三阶段--微博(7)(程序4)
    IOS开发--第三阶段--微博(6)(程序3)
    IOS开发--第三阶段--微博(5)(程序2)
    IOS开发--第三阶段--微博(4)(程序1)
    IOS开发--第三阶段--微博(3)(修改已创建应用的信息)
    ansible_模块和剧本ansible_bookplay
    自动化运维 ansible
    celery 基础
    sqlalchemy
  • 原文地址:https://www.cnblogs.com/turnip/p/11362627.html
Copyright © 2011-2022 走看看