我做了一个网站  然后我要判断是否登录,我用session 保存了这个登录的ID ,并且我webconfig里面也配置过了,每次进入一个页面的时候我会调用一个公共类里面的session是否存在的一个方法(如果不存在跳到登陆页面),但是我在操作不到一分钟就退出了,然后要重新登录,请各位来给我帮帮忙吧。在此先谢谢了

解决方案 »

  1.   

    在web-config里面设置session过期时间<sessionState timeout="60"> </sessionState> 
      

  2.   

    <system.web>
        <sessionState  timeout="30"/>
    </system.web>
      

  3.   

    时间太短。服务器重新上传了代码。在新窗口打开链接仿佛都会丢失SESSION。。个人愚见。
      

  4.   

    <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="12000" cookieless="false" stateNetworkTimeout="14400">
    </sessionState>
    这样呢?
      

  5.   

    查你代码,代码有错,session丢失
      

  6.   

    <system.web> 
        <sessionState  timeout="30"/> 
    </system.web>
      

  7.   

    <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="12000" cookieless="false" stateNetworkTimeout="14400"> 
    </sessionState> 
    这个可行,将会话状态保存于ASP.NET 状态服务中,默认是InProc ASP.NET 辅助进程中这个可能引起session丢失,即使设置了timeout有时也不起作用。
    使用mode="StateServer" 需要将服务里的asp.net state service先启动。
      

  8.   

    你先要看看是测试环境还是开发环境?
    看看你的Session是保存什么模式的?
      

  9.   

    我用session 保存了这个登录的ID 这个可以用cookie的。
      

  10.   

    session有个默认的过期时间30秒,你重新设置一下就好了
      

  11.   


    <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="12000" cookieless="false" stateNetworkTimeout="14400">
    </sessionState>
    这个可以了吧?
      

  12.   

    再问个问题:怎么让会话结束时销毁Cookie ,也就是说销毁Cookies的语句写在那块?
      

  13.   

    1,除了设置.config配置文件中的timeout还有IIS中的2,session有可能是设置的时间太短过时,也有可能是内存不足导致session丢失
      

  14.   

     <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;user id=sa;password=" cookieless="false" timeout="60" />
    HttpCookie cookie = new HttpCookie(""); 
    cookie.Expires = DateTime.Now.AddDays(-1); 
      

  15.   

    试试用 session+viewstate 存值
      

  16.   

    session问题比较多。
    用cookie,比较稳定。
    cookie也可以保存在内存里,网站关闭,cookie消失。