QQ登录 | 联系我们 | 招聘信息 | 支付方式 | 客服问答 | 托管租用须知 | ICP备案 | 返回首页  
 
  [合租服务器] 二十人合租
  [合租服务器] 十人合租
     (百独服务器,独享10M带宽)
  [合租服务器] 二十人合租
     (国外,免备案)
  国内 VPS 服务器
  国外 VPS 服务器
     (国外,免备案)
  服务器下载及IP测试
  常用软件与文档、合同下载
  机房介绍
  什么是合租服务器?
  什么是 VPS 主机?
  为什么会Service Unavailable?
  怎么自定义伪静态规则?
  用户控制面板
  独立控制面板
关于asp.net会话常丢失的问题解决
添加时间:2010-05-12  录入:admin
如果没有您要了解的内容,您可以点击本链接在线提交咨询。我们会第一时间答复您!
搜索关键词(回车提交):
在Windows2008的服务器中的IIS7加入了应用程序池来回收一些无用的进程的功能,当由于网站程序的错误或访问量太多的导致的应用程序池会自动回收该进程,防止网站进入“死机”状态,而这时候的应用程序池的回收就会导致session变量被清除,就出现了session变量不见的现象。

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

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

第二:自己修改web.config来解决
为了解决这种在Windows2008下才出现的问题,我们在服务端启用ASP.NET State Service服务,如果您的网站根目录下也配有一个web.config配置文件,请把mode="InProc"改成mode="StateServer",如下代码,就可以防止session变量的丢失(可能需要程序做些调整):

即:
code:
<sessionState mode="InProc" cookieless="false" timeout="60"/>
改为
code:
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20" />