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

我们的网站目前有这个问题。 基本上只有当我们点击一​​些特定的链接时,才会popup一个新的窗口。
这是我们收到的错误消息:

无法向会话状态服务器发出会话状态请求。
请确保ASP.NET状态服务已启动,并且客户端和服务器端口是相同的。
如果服务器位于远程计算机上,请通过检查HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection的值确保它接受远程请求。
如果服务器位于本地计算机上,并且前面提到的registry值不存在或设置为0,则状态服务器连接string必须使用“localhost”或“127.0.0.1”作为服务器名称。

目标网站:
Void MakeRequest(StateProtocolVerb,System.String,StateProtocolExclusive,Int32,Int32,Int32,Byte [],Int32,Int32,SessionNDMakeRequestResults ByRef)

这是包含sessionstate标签的webconfig:

<sessionState mode="StateServer" timeout="45" />

我已经检查了ASP.NET状态服务,并且它当前已启动并设置为自动

我已经在错误消息中设置registry为1,但仍然无法正常工作。

1)开始 – >pipe理工具 – >服务

2)右键单击ASP.NET状态服务,然后单击“开始”

*此外,您可以将服务设置为自动,以便在重新启动后使用。

欲了解更多详情,你可以检查我的博客文章: http : //jamshidhashimi.com/unable-to-make-the-session-state-request-to-the-session-state-server/

如果您需要将HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection更改为1,请记住在更改参数后重新启动 ASP.net状态服务。

检查:

 stateConnectionString="tcpip=server:port" 

是正确的。 另外,请检查默认端口( 42424 )是否可用,您的系统没有firewall阻塞系统端口

另一件要检查的是你是否启用了Windows防火墙,因为这可能是阻止端口42424。

我发现一些开发人员会出于某种原因在意外的位置定义IIS以外的服务器的私有IP,如非标准configuration文件(即不是web.config)或文本文件。 这可能导致内部操作失败,即使服务启动,端口没有被阻止,注册密钥是正确的,等等。

Kaseya特别将一个名为serveripinternal.txt的文件放在VSA服务器的根IIS目录中。 当有人运行自己的Kaseya实例改变了服务器的内部IP时,我已经看到了你的错误文本。 服务器将可到达,IIS将响应,login页面会出现 – 但login将失败,引用的消息。

当一些ASP.NET安装被破坏时,我遇到了同样的问题。 在这种情况下,他们build议运行aspnet_regiis -i -enable

我最近碰到这个问题,没有提出解决scheme。 问题原来是过度使用存储在会话中的数据集。 代码中存在一个缺陷,导致会话大小增加10倍。

msdn博客上有一篇文章也提到了这个问题。 http://blogs.msdn.com/b/johan/archive/2006/11/20/sessionstate-performance.aspx

我使用了一个函数来编写自定义跟踪消息来测量活动站点上会话数据的大小。

在运行窗口的运行面板中键入Services.msc。 它将列出我们系统中的所有窗口服务。 现在我们需要启动Asp .net State服务,如图所示。 在这里输入图像说明

您的问题将得到解决。