码迷,mamicode.com
首页 > 其他好文 > 详细

无法向会话状态服务器发出会话状态请求

时间:2015-09-09 19:45:49      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:service   asp.net   程序语言   详细信息   会话状态   

生产环境:

操作系统:win2003

web: IIS 6.0

程序语言: asp.net

运行问题:

   无法向会话状态服务器发出会话状态请求。请确保已启动ASP.NET State service,并且客户端和服务器端口是相同的。如果服务器位于远程计算机上,请检查HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/aspnet_state/Parameters/AllowRemoteConnection的值,确保服务器接受远程请求。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 
   异常详细信息: System.Web.HttpException: 无法向会话状态服务器发出会话状态请求。请确保已启动 ASP.NET State service,并且客户端和服务器端口是相同的。如果服务器位于远程计算机上,请检查HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/aspnet_state/Parameters/AllowRemoteConnection的值,确保服务器接受远程请求。 
   源错误: 
   执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 
堆栈跟踪: 
[HttpException (0x8007274d): 无法向会话状态服务器发出会话状态请求。请确保已启动ASP.NET State service,并且客户端和服务器端口是相同的。如果服务器位于远程计算机上,请检查HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/aspnet_state/Parameters/AllowRemoteConnection的值,确保服务器接受远程请求。] 
System.Web.SessionState.OutOfProcStateClientManager.MakeRequest(StateProtocolVerbverb, String id, StateProtocolExclusive exclusiveAccess, Int32 timeout, Int32lockCookie, Byte[] buf, Int32 cb, Int32 networkTimeout, SessionNDMakeRequestResults&results) 
System.Web.SessionState.OutOfProcStateClientManager.DoGet(String id,StateProtocolExclusive exclusiveAccess) 
System.Web.SessionState.OutOfProcStateClientManager.GetExclusive(String id) 
System.Web.SessionState.StateClientManager.BeginGetExclusiveSync(String id,AsyncCallback cb, Object state) 
System.Web.SessionState.OutOfProcStateClientManager.System.Web.SessionState.IStateClientManager.BeginGetExclusive(Stringid, AsyncCallback cb, Object state) 
System.Web.SessionState.SessionStateModule.GetSessionStateItem() 
System.Web.SessionState.SessionStateModule.BeginAcquireState(Object source,EventArgs e, AsyncCallback cb, Object extraData) 
System.Web.AsyncEventExecutionStep.System.Web.HttpApplication+IExecutionStep.Execute() 
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&completedSynchronously)  

原因分析:
web.config中配置SessionState的mode为StateServer,但服务器没有开启改个服务。

解决方法:
1.Web.Config里面 把sessionState 的mode改为"InProc" ;
<sessionState
           mode="InProc"
           stateConnectionString="tcpip=127.0.0.1:42424"
           sqlConnectionString="data source=127.0.0.1;user id=sa;password="
           cookieless="false"
           timeout="20"
    /> 

2.在服务中启用"ASP.NET State service

   系统默认采用asp.net状态服务保存状态,这样稳定。改为:InProc,则采用iis进程保存用户状态,由于InProc有600M的内存限制,所以在某些虚拟主机上,资源不足,会导致用户状态丢失,因此我们默认采用asp.net状态服务“ASP.NET State service”。

 


本文出自 “Linux~DBA~MBA~EDU” 博客,请务必保留此出处http://sky9896.blog.51cto.com/2330653/1693163

无法向会话状态服务器发出会话状态请求

标签:service   asp.net   程序语言   详细信息   会话状态   

原文地址:http://sky9896.blog.51cto.com/2330653/1693163

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!