<sessionState 
            mode="InProc"
            stateConnectionString="tcpip=127.0.0.1:42424"
            sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
            cookieless="false" 
            timeout="1440" 
    />
我把timeout设置为1440分(一天),但是session还是隔一段时间(不过2个小时具体也说不清)就过期了。
代码:
web2.aspx :
Session["A"] = "HELLO";web3.aspx:
if(Session["A"]!=null)
    Label1.Text=Session["A"].ToString();是不是还需要在其它地方设置session的过期时间

解决方案 »

  1.   

    服务器不能自己控制吗?
    如果不能,那就是在该服务器上已经设置了一定的长度.
    另外,象你这样,把它设置成永不过期,这是非常不可取的,其结果就是服务器死掉.另外,如果因为SESSION太多导致服务器内存不够用的时候,也会自动删除某些SESSION(服务器).
      

  2.   

    iis 的Session timeout设置了么?
      

  3.   

    在IIS管理下,右击虚拟路径 -> 属性 -> 按G -> option -> session timeout(默认是20分钟)
      

  4.   

    1。打开web.config文件,设置如下: 
    mode="StateServer" //就是修改这里为“StateServer” 
    stateConnectionString="tcpip=127.0.0.1:42424" 
    sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" 
    cookieless="false" 
    timeout="1440" 
    /> 2。打开“控制面板--管理工具--服务”,找到ASP.NET State Service这个服务,将其启动。
      

  5.   

    补充一下..一般你在本机上测试用 mode="InProc" 是没有问题的
    但是如果到了服务器上 mode="InProc" 老是会另你丢失 sessionmode="StateServer" 这个可以保证你的session不会丢失
      

  6.   

    tttick你的办法很好,谢谢tttick