解决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是非本地服务器,则需要保证另外一台服务器是允许远程链接的。