在Web.config的sessionState中设置的超时时间是30分钟timeout="30" ,可实际上系统总是不到5分钟就超时,还有IIS或其他地方需要设置吗?

解决方案 »

  1.   

    IIS里也有设置,可能Web.config里没有设置对,没有生效
      

  2.   

    release,不要debug发布。<sessionState cookieless="true" 把cookieless设为true。因为客户端禁用cookie时,session也无效。在IIS中把Session过期时间延长。不让杀毒软件扫描bin文件夹下的文件和Web.Config文件 。
      

  3.   

    看看你的iis的超时时间是否跟web.config的时间一直
      

  4.   

    1、
    <sessionState 
                mode="InProc"
                stateConnectionString="tcpip=127.0.0.1:42424"
                sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
                cookieless="true" 
                timeout="40" 
        />
    2、设置iis中的超时为40
    3、关闭病毒防火墙
    4、只用release生成
    5、测试 20分钟了 数据没有丢失
      

  5.   

    要注意你的web.config文件 和 IIS 配置...
      

  6.   

    在web.config中把timeout设为:
     timeout="216000"
      

  7.   

    在项目运行中修改web.config文件,也会造成Session,还有有些杀毒软件会去扫描web.config,也会造成Session的丢失(所以只需要防火墙,杀毒软件不要开).