解决Session容易丢失的问题

最近在做的B/S项目,用户保存登录者的信息时是通过Session保存的,这样就存在一个致命的问题,Session的不稳定,易丢失(系统中有生成Excel报告并打包下载的功能,没生成一份报告,Session就会丢失)

原来微软的Vs保存Session有多种模式,经过对比我选择了 StateServer,异地保存Session,经多测试即使我三个小时不动系统,Session仍然存在,唯一的问题是系统中所有的实体列要进行序列化,在Session传递对象时,对象的实体列必须是可序列化的,很简单在类的名称前加上[Serializable],问题解决,以下是在vs的webconfig中对Session的配置

<sessionState
      mode="StateServer"
      cookieless="false"
      timeout="240"
      stateConnectionString="tcpip=127.0.0.1:42424"
      stateNetworkTimeout="14400" />

 需要打开服务器的asp.net 状态的服务,设置为启动且自行启动。

如果tipti是非本地服务器,则需要保证另外一台服务器是允许远程链接的。

posted @ 2010-04-12 12:01  autumnyuhe  阅读(533)  评论(5编辑  收藏  举报