三九空间

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

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

关于我们|联系方式|付款方式|代理合作|网站地图|官方博客|利晶设计

地址:深圳市南山区高新南一路飞亚达科技大厦18层    电话:400-0622-292
Copyright © 2006-2015 39wa.Com All Rights Reserved
友情连接: 惠州网站建设 | 磁力泵 | 磁力泵 | 水泵厂家 | 气动调节阀 | 新昌盛