无法向会话状态服务器发出会话状态请求
我们的网站目前遇到这个问题。基本上,只有当我们单击某些特定链接时,它才会弹出一个新窗口。
这是我们收到的错误消息:
无法向会话状态服务器发出会话状态请求。
请确保 ASP.NET State 服务已启动并且 客户端和服务器端口相同。
如果服务器位于 远程机器,请确保它接受远程请求 检查的值 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection。
如果服务器在本地机器上,并且如果之前 提到的注册表值不存在或设置为0,则状态 服务器连接字符串必须使用“localhost”或“127.0.0.1”作为 服务器名称。
目标站点:
无效 MakeRequest(StateProtocolVerb, System.String, StateProtocolExclusive, Int32、Int32、Int32、字节 []、Int32、Int32、SessionNDMakeRequestResults 参考)
这是包含 sessionstate 标记的 webconfig :
我已检查 ASP.NET 状态服务,它当前已启动并且设置为自动
我已将错误消息中所述的注册表设置为 1,但仍然无法正常工作。
Our site is currently having this problem. Basically it only happen when we click some particular links where it will pop-up a new window.
This is the error message we receive :
Unable to make the session state request to the session state server.
Please ensure that the ASP.NET State service is started and that
the client and server ports are the same.
If the server is on a
remote machine, please ensure that it accepts remote requests by
checking the value of
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection.
If the server is on the local machine, and if the before
mentioned registry value does not exist or is set to 0, then the state
server connection string must use either 'localhost' or '127.0.0.1' as
the server name.target site :
Void
MakeRequest(StateProtocolVerb, System.String, StateProtocolExclusive,
Int32, Int32, Int32, Byte[], Int32, Int32, SessionNDMakeRequestResults
ByRef)
this is the webconfig that contain sessionstate tag :
<sessionState mode="StateServer" timeout="45" />
I have check the ASP.NET State Service, and it is currently started and set to automatic
I have set the registry stated in the error message to 1, but still not working.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
此外,您可以将该服务设置为自动,以便它在重新启动后即可工作
Additionally you could set the service to automatic so that it will work after a reboot
如果需要将 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection 更改为 1,请记住在更改参数后重新启动ASP.net state服务。
If you need to change HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection to 1, remember to restart the ASP.net state service after you change the parameter.
在 Windows 运行窗口的运行面板中键入 Services.msc。它将列出我们系统中的所有 Windows 服务。现在我们需要启动 Asp .net State 服务,如图所示。
您的问题将会得到解决。
Type Services.msc in run panel of windows run window. It will list all the windows services in our system. Now we need to start Asp .net State service as show in the image.
Your issue will get resolved.
检查:
是否正确。另请检查默认端口 (
42424
) 是否可用,并且您的系统没有阻止该端口的防火墙
Check that:
is correct. Also please check that default port (
42424
) is available and your system does not have afirewall
that is blocking the port on your system我的一位客户也面临着同样的问题。采取以下步骤来解决此问题。
One of my clients was facing the same issue. Following steps are taken to fix this.
另一件需要检查的事情是您是否启用了 Windows 防火墙,因为这可能会阻止端口 42424。
Another thing to check is whether you have Windows Firewall enabled, since that might be blocking port 42424.
当某些 ASP.NET 安装损坏时,我也遇到了同样的问题。在这种情况下,他们建议运行 aspnet_regiis -i -enable
I've had the same issue when some ASP.NET installation was corrupted. In that case they suggest running aspnet_regiis -i -enable
我发现一些开发人员出于某种原因会在 IIS 之外的意外位置定义服务器的私有 IP,例如非标准配置文件(即不是 web.config)或文本文件。即使服务已启动、端口未被阻止、注册表密钥正确等,这也可能导致内部操作失败。
特别是,Kaseya 会将名为 serveripinternal.txt 的文件放置在 VSA 服务器的根 IIS 目录中。当有人运行自己的 Kaseya 实例更改服务器的内部 IP 时,我看到了您的错误文本。服务器将可访问,IIS 将响应,并且将出现登录页面 - 但登录将失败并显示引用的消息。
I've found that some developers will for some reason define the server's private IP outside of IIS in an unexpected location, like a nonstandard config file (i.e. not web.config) or a text file. This can cause internal operation to fail even when the service is started, ports aren't being blocked, reg keys are correct, etc.
Kaseya, in particular, places a file called serveripinternal.txt in the root IIS directory of the VSA server. I've seen the text of your error when somebody running their own Kaseya instance changed the server's internal IP. The server will be reachable, IIS will respond, and the login page will come up - but login will fail with the cited message.
不是最好的答案,但无论如何它是一个选择:
Not the best answer, but it's an option anyway:
我最近遇到了这个问题,并且提出的解决方案都没有解决它。事实证明,问题是过度使用会话中存储的数据集。代码中存在缺陷,导致会话大小增加 10 倍。
msdn博客上有一篇文章也谈到了这一点。
http://blogs.msdn.com/b /johan/archive/2006/11/20/sessionstate-performance.aspx
我使用一个函数来编写自定义跟踪消息来测量实时站点上会话数据的大小。
I recently ran into this issue and none of the solutions proposed fixed it. The issue turned out to be an excessive use of datasets stored in the session. There was a flaw in the code that results in the session size to increase 10x.
There is an article on the msdn blog that also talks about this.
http://blogs.msdn.com/b/johan/archive/2006/11/20/sessionstate-performance.aspx
I used a function to write custom trace messages to measure the size of the session data on the live site.