网站制作:ASP.NET(VS2010+C#)
发布到本机(XP)IIS5.1
使用: http://localhost 访问,Session不会丢失
使用:http://<计算机名称> 访问,Session丢失,在别的计算机上使用计算机名、IP访问Session丢失,查看任务管理器:aspnet_wp.exe aspnet_state.exe进程在运行,搜寻一大堆网上信息后再web.config中添加如下字段
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless="false" timeout="20"/>
仍旧丢失,大侠们,救命啊!

解决方案 »

  1.   

    使用 StateServer 管理还会看起来“丢失”的话,我觉得你首先要测试自己的程序有没有刻意删除数据的问题了。反过来说,你真的肯定其保存了吗?因为使用状态服务器,需要你的数据确实可以序列化,比如说你的对象可能只有一部分属性可以序列化而其它属性不能序列化,此时不要说人家丢失了,明明是你的对象设计的问题。此时应该用另外一个页面去访问Session集合来验证数据可保存,不要在当前保存数据的页面上去测试,因为这根本没有经过“保存数据到StateServer、再重新读取出来、再在内存中重建对象”这个过程。
      

  2.   


    程序执行流程:提交ID&Password—>比对数据库信息—>读取用户信息并保存到session—>让后登录控件导航得到指定的页面。针对这个流程我肯定session有保存,还有就是如果没有保存的话,我发布到本机默认的IIS网站,使用http://localhost的方式为什么session值ok呢?此外,请教一下,session还有部分属性是不能序列化吗?或者是不是页面哪里的属性会导致这个结果呢?但是我没有单独对页面的任何参数做设定啊?呜呜呜,求解,高人!
      

  3.   

    大概多长时间丢失啊?
    不行的话,通过定时请求服务器上的一个页面的方法来防止session丢失(去网上搜搜)
      

  4.   

    不是时间长了丢失,而是登录认证OK后,转到首页这个过程就发生了session失效,且session对象读没有了。
      

  5.   

    那就是你的问题,如果服务器不稳定 (dll web.config更变)重启进程 都会导致session丢失,
    具体做法就是在web.config里做手脚 具体怎么做就百度去
    如果你这个情况登陆认证后就丢失 就说明你的session刻意删除或者是你session的name写错了。
    具体做法断点调试 断点在登陆认证 一步一步走吧。还有就是高结贴率高回复