应用程序中的服务器错误。无法向会话状态服务器发出会
应用程序中的服务器错误。无法向会话
状态服务器发出会
错误代码:
"/"应用程序中的服务器错误。无法向会话状态服务器发出会话状态请求
--
无法向会话状态服务器发出会话状态请求。请确保ASP.NET State Service(ASP.NET状态服务)已启动,并且客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Par
ameters\AllowRemoteConnection的值,确保服务器接受远程请求。如果服务器位于本地计算机上,并且上面提到的注册表值不存在或者设置为0,则状态服务器连接字符串必须使用"localhost"或"127.0.0.1"作为服务器名称。
说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息:System.Web.HttpException:无法向会话状态服务器发出会话状态请求。请确保ASP.NET State Service(ASP.NET状态服务)已启动,并且客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Par
ameters\AllowRemoteConnection的值,确保服务器接受远程请求。如果服务器位于本地计算机上,并且上面提到的注册表值不存在或者设置为0,则状态服务器连接字符串必须使用"localhost"或"127.0.0.1"作为服务器名称。
源错误:
执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:
[HttpException(0x 80072749):无法向会话状态服务器发出会话状态请求。
请确保ASP.NET State Service(ASP.NET状态服务)已启动,并且客户端端口与
服务器端口相同。如果服务器位于远程计算机上,请检查
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection的值,确保服务器接受远程请求。如果服务
器位于本地计算机上,并且上面提到的注册表值不存在或者设置为0,则状态
服务器连接字符串必须使用"localhost"或"127.0.0.1"作为服务器名称。]
System.Web.SessionState.OutOfProcSessionStateStore.MakeRequest(StateProtocolVerb verb,String id,StateProtocolExclusive exclusiveAccess,Int32 extraFlags,Int32 timeout,Int32 lockCookie,Byte buf,Int32 cb,Int32
networkTimeout,SessionNDMakeRequestResults&results)+3005574 System.Web.SessionState.OutOfProcSessionStateStore.SetAndReleaseItemExclusive(HttpContext context,String id,SessionStateStoreData item,Object lockId,Boolean newItem)+278
System.Web.SessionState.SessionStateModule.OnReleaseState(Object source,EventArgs eventArgs)+775
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+80
System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean&completedSynchronously)+171
解决
:
(1)解决方法:
?需要你和虚拟主机的管理员沟通,和服务器管理员接洽,让他把你放系统
的文件夹设置成虚拟目录.
?首先假设网站管理系统被你放在了wwwroot/JFCMS4.0目录下(wwwroot
为你的虚拟主机跟目录),
你必须把网站管理系统的bin文件移到根目录下才可以.
(2)解决方法:
1、我的电脑右键管理-》服务-》启动asp.net State(asp.net状态服务)
或者
2、Web.config设定:
以下是范例的设定给您参考,关于State Server的Por t,预设值是
42424,如果您想要修改的话,请您找到以下的机码值:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic
es\aspnet_state\Parameters\Port直接修改成您要的数字,并且在对应的Web.config中修改掉。
configuration system.web sessionState mode="StateServer"
stateConnectionString="tcpip=SampleStateServer:42424"
cookieless="false"
timeout="20"/
/system.web
/configuration 3、删掉web.config中上面的配置串。这样session就绑定在iis进程中。而不是状态服务
(3)解决办法:
1、上网搜索相关的解决办法,没有行之有效的方法,但基本上是说"ASP。NET状态服务"这个服务没有启动。我查了一下,"ASP。NET状态服务"这个服务是启动的,IIS中WEB服务扩展中的"ASP.NET v2.0.50727"也是处于启动状态。
2、按照提示,打开注册表,
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\,突然发现里面有一个PORT键值,值为42424打开WEB。CONFIG,查
找到这一段,sessionState
mode="StateServer"stateConnectionString="tcpip=localhost:
35899"cookieless="false"timeout="1200"/sessionState
把35899改为42424,呵,问题解决