我做的几个.net的web项目中都用了session对象,设置的失效时间都是30分钟,但是在项目的运行中我发现实际这些session都是不到1分钟就失效了,这是为什么?该怎样解决啊?

解决方案 »

  1.   

    <sessionState 
                mode="InProc"
                stateConnectionString="tcpip=127.0.0.1:42424"
                sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
                cookieless="false" 
                timeout="你的时间" //在这设 
        />
      

  2.   

    mode="InProc" 改为stateserver , 并在系统里启动aspnet_state 服务,
      

  3.   

    可能你的程序里有使session失效的代码
      

  4.   

    IIS --默认网站 --属性 -- 主目录 --配置 --选项 --启用会话状态 --选择需要的具体时间
      

  5.   

    mode="InProc"模式的session很容易丢失~~改成sqlserver 模式将session保存到数据库就好了~例如:
    <sessionState mode="SQLServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="user id=sa;password=123456;data source=localhost;" cookieless="false" timeout="20" />
      

  6.   

    session有3种保存方式:cookie,aspnet,sqlserver,具体的时间在WEB.CONFIG中设置SQLSERVER保存Session请参考:http://www.dbazine.com/cook9.shtml