本机软件权限部分要根据登录名称来判断权限,所以用session来传值,无错
今日传至服务器(2003+iis6.0)session完全失效,打开一个页面就是session为引用对象实例化!用session来页面传值几秒就失效,关于session失效的很多方法都试过了,还是没有用!
求解,要疯!

解决方案 »

  1.   

      <sessionState mode="InProc" timeout="60" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"/>session.timeout=60;
    都没有用!上去几秒在返回个页面Session的值就为空了!存到数据我也想过,每个页面在去读一边,问题是如果几个人一起同时登录怎么存和读啊
      

  2.   

    <sessionState mode="InProc"
    =>
    <sessionState mode="StateServer"
      

  3.   

    第一,你的运行服务器不好导致你的session总丢失。你最好在快到期的时候换一个。
    第二,你可以试试session失效的解决办法,网上有很多,我总结大致有两种,
    1.可以自己写一个类,判断session【xxxx】==null的时候。。
    2.你可以写个xmlhttprequest 定时向每个页面发送请求。可以不让session失效。
    但是最主要的原因还是你的运营商的服务器比较不好照成的。要不然丢失没有那么快。
      

  4.   

    1.可以自己写一个类,判断session【xxxx】==null的时候。。用到session的页面都继承此类。
      

  5.   

    session这个对象在高版本的IIS里逐渐沦落为临时的传值工具,
    已经不具备长久保存重要数据的功能。所以一些重要的又需要长时间保存的数据因该放发哦缓存里或是数据库里。
      

  6.   

    InProc session丢失常见原因就是因为AppDomain被回收或者w3wp进程终止。AppDomain回收原因有很多,例如更改了web.config文件的内容,bin目录下的文件更改等等。
    解决方案有两个,一个是检查丢失原因然后解决。二是换用out of proc的session存储机制,比如SQL Server或StateServer
      

  7.   

    现在有很多独立于asp.net的存储方式,你可以了解下memcached,非常流行,也简单好用,你可以试试。
      

  8.   

    你的意思是 刚开始session还是有效的,只是过几秒失去作用?是不是服务器中的iis有问题?
      

  9.   

    我也遇到过,网站登陆进去后,才一会,就session为空,我做的就是4楼说的那样的,
    <sessionState mode="StateServer" timeout="60"/>
    然后把服务上的asp服务开启就可以了
    希望能帮助你
      

  10.   

    我考虑用HttpCookie cookie_name = new HttpCookie("id"),这种方法 !不知道会不会有什么问题!页面传值的东西太多!没有办法!