打开 web.config    <system.web>
     <trace enabled="false" requestLimit="120" pageOutput="false" traceMode="SortByTime" localOnly="true"/>
    <sessionState mode="InProc" timeout="100" >
    </sessionState>        这样的设置之后,还是过了那么几分钟又要重新登录了,说明应该是Session失效/丢失问题。    我也在IIS里面的网站上的属性中的连接超时设置为3600S,但我打开后台网站管理登录进去的时间也只有那么几分钟。    请高手帮助我。我该怎么办呢?

解决方案 »

  1.   

    session我记得生命周期只有1800s吧 
      

  2.   

    那你的意思是不可以延长Session的生命周期吗,
      

  3.   

    你的某一些操作导致了session的丢失、应用程序的重启。可以用<sessionState mode="StateServer"></sessionState>可以解决
      

  4.   

    把登录信息放在cookie里边。cookie设置超时时间,
    然后当session检测不到的时候用cookie里边的值再查数据库,取得新的session.
      

  5.   

    直接用我给的方式,至于时间可以设置也可以不设置。然后记得开启一个叫做ASP.NET_state服务。
      

  6.   

    ajax定时请求下页面另外,还是使用Cookie比较好
      

  7.   

    在一个不刷新的帧也里面加几行
    <iframe style="display:none" name=x></iframe>
    <script>
    setInterval("window.frames['x'].location='nodata.aspx?x=' + (new Date()).valueOf()",10000);
    </script>
      

  8.   

    本帖最后由 net_lover 于 2012-06-05 13:43:55 编辑
      

  9.   

    session使用IIS的不稳定,建议使用StateServer,同时开启服务就行了
      

  10.   

    我有在IIS中设置过。但还是没效果。。
      

  11.   

    如果不设置时间,是不是默认时间是20分钟。如果要设置时间,是不是只要加个timeout=多少,就好了。
      

  12.   

    加多少都没有用,Session和容易丢失的。应用程序池回收、文件扫描等都会导致Session丢失的。用户验证采用Forms验证是比较好的做法的。
    asp.net已经很少使用Session做验证了
      

  13.   

    恩,那Forms验证具体怎么操作呢?
      

  14.   

    如果IIS回收,也会影响Session的