关于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"
/>

 


编辑:west263
日期:2005-08-01

收藏 】 【 打印 】   
您可对文档进行评分哟~

勾选遇到的问题提交给我们,收到反馈后保证及时修正更新!

提交反馈需要先登陆会员帐号

上一篇:已经没有了。
下一篇:如何管理MySQL数据库?
若文档内容对您没有帮助,不能解决问题? 您还可以 咨询在线客服提交工单搜索常见问题 ,我们将竭诚为您服务。
  >> 相关文章
 
分享至: