我用aspnet做的一个网页游戏,注册用户在玩的时候,总是会突然掉线。
用户登录信息使用session保存的,程序判断session为空的时候跳转到登陆界面。
一直出现session丢失的问题,到底是为什么。web.config中配置sessionState,该使用哪个,怎么样正确配置?
还是有其他的更好的方法。
请高人指点。

解决方案 »

  1.   

    网页游戏? 为什么不用Cookie? 用户挂机玩怎么办......session经常丢失应该是服务器的配置问题 
      

  2.   

    原因很多,跟杀毒软件也有关系,楼主非要用session的话,可以每隔几分钟请求一个服务器页面
      

  3.   

    这跟所谓的session过期没有关系,不要用那个思路去“解决”。session丢失(而不是过期),这是板上钉钉的铁律,你在编写asp.net代码之前其实就应该知道。现在,如果你保证完整地拥有服务器,那么可以配置为state服务器方式。否则就要修改你的程序,根本不要使用Session集合。极其个别的一两个数据可以使用cookie,而大多数持久化状态数据可以使用你自己的业务数据库来保存,而加快应用程序状态获取则可以使用数据缓存的方法。
      

  4.   

    如果你去买所谓的虚拟主机空间,那么你要知道在平常,每隔10分钟就会丢失session集合一次(不管你的程序中用什么方法也无法避免),而当过年过节时当然就会更加频繁。
      

  5.   


    我you自己的服务器,您刚才说的配置state是不是 sessionState的mode值,我现在用的是StateServer方式,但是还是会掉。
    能给我说个详细点的方法吗?
      

  6.   

    我也遇到过和你一样的问题,但我在程序里设了Session过期时间30分钟,现在还是文档,但对于某些机器来说,偶尔还是会出现Session丢失,我自己电脑一直都是好的,比较纠结,等待解决
      

  7.   

    session丢失是肯定的。少年用cookie吧。
      

  8.   

    在config里面设置session过期时间
      

  9.   

    你可以用客户端cookie存值,或者是把session设置成永久的,哦了~~~
      

  10.   

    可以试试Session模式改为sqlserver,不过这个东西执行起来蛮复杂的,网上有资料
      

  11.   

    杀毒软件是Session过期的罪魁祸首,可以考虑将数据保持在“内存数据库”中,参见这里 
      

  12.   


    我查了不少资料,从程序的改善,到服务器配置的调整,但是还是有问题,纠结死了。
    可能不只是session存储的问题。
      

  13.   

    session丢失 和session过去没有关系  可能是你的服务器出现不稳定导致这个session问题 这个session丢失没有办法还没有很好的办法解决 建议使用其他的方法
      

  14.   

    楼主的session丢失(而不是过期)。我也遇到过几次这样的问题。但是奇怪的是用火狐没有什么问题。但是用IE8就会了。是否跟这个有关。如果不对。别怪。
      

  15.   

    而我遇到的是Session内容不及时更新的问题看来要弃用Session了
      

  16.   

    如果不设置session的时间,20分钟后session就会自动消失;session只适合于在一个浏览器上使用,如果浏览器关闭或者打开一个新的浏览器,session也会消失。如果楼主一定要使用session,建议将session存放在数据库或者文件等永久的东西里面。这样可以确保session不丢失。
    但是还是建议使用cooike,cooike可以更好地保存用户的信息,在用户下次登录的时候还能找到上次的记录。不过cooike的不足之处就是用户可以自己设置浏览器是否可以接受cookie。但是这样不会造成太大的影响,一般用户不会闲的没事干去禁止自己浏览器的cookie,这也是许多大型的网页游戏使用cookie的原因。
      

  17.   

    如果将在web.config中配置session的话,在电脑使用杀毒软件的时候还会自动清除session。这样的session极不安全。