关于asp.net 会话常丢失的问题解决

在Windows2003的服务器中的IIS6加入了应用程序池来回收一些无用的进程的功能,当由于网站程序的错误或访问量太多的导致的应用程序池会自动回收该进程,防止网站进入“死机”状态,而这时候的应用程序池的回收就会导致session变量被清除,就出现了session变量不见的现象。

解决这个问题有二个办法 :

第一:联系我司客服将进程池的内程回收限额增大,可有效解决这个问题。但如果无限增大,可能造成内存不足而导致网站访问速度下降,所以只能适当调整;

第二:自己修改web.config来解决
为了解决这种在Windows2003下才出现的问题,我们在服务端起动ASP.NET State Service服务,并且在系统的machine.config做了一些改动。现在默认的情况下会话状态mode是StateServer。如果您的网站根目录下也配有一个web.config配置文件,请把mode="InProc"改成mode="StateServer",如下代码,就可以防止session变量的丢失:

即:
<sessionState mode="InProc" cookieless="false" timeout="60"/>改为

<sessionState
mode="StateServer"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="20"
/>

 




来源:海川互联
阅读:3722
日期:2005-08-01

收藏 】 【 打印 】   
上一篇:
下一篇:如何管理MySQL数据库?
若文档内容对您没有帮助,不能解决问题? 您还可以 咨询在线客服提交工单,我们将竭诚为您服务。
  >> 相关文章
 
会员 客服 QQ 电话 充值 工单
Top

24小时客服热线:

137 2428 9096