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

时间:2009-09-04 00:46:45

标签: asp.net session-state stateserver

我们的网站目前遇到此问题。基本上它只发生在我们点击某个特定的链接时会弹出一个新窗口 这是我们收到的错误消息:

  

无法向会话状态服务器发出会话状态请求。   
请确保启动ASP.NET State服务   客户端和服务器端口是相同的。
如果服务器在   远程机器,请确保它接受远程请求   检查的价值   HKEY_LOCAL_MACHINE \系统\ CurrentControlSet \服务\ aspnet_state \参数\ AllowRemoteConnection。   
如果服务器在本地机器上,如果在之前   提到的注册表值不存在或设置为0,然后是状态   服务器连接字符串必须使用“localhost”或“127.0.0.1”作为   服务器名称。

目标站点:
无效   MakeRequest(StateProtocolVerb,System.String,StateProtocolExclusive,   Int32,Int32,Int32,Byte [],Int32,Int32,SessionNDMakeRequestResults   为ByRef)

这是包含sessionstate标记的webconfig:

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

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

我已将错误消息中指定的注册表设置为1,但仍无效。

10 个答案:

答案 0 :(得分:261)

  1. 开始 - &GT;管理工具 - &gt;服务
  2. 右键单击 ASP.NET状态服务,然后单击“开始”
  3. 此外,您可以将服务设置为自动,以便在重新启动后能够正常工作

答案 1 :(得分:23)

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

答案 2 :(得分:8)

检查:

stateConnectionString="tcpip=server:port"

是对的。另请检查默认端口(42424)是否可用,并且您的系统没有阻止系统端口的firewall

答案 3 :(得分:3)

在Windows运行窗口的运行面板中键入Services.msc。它将列出我们系统中的所有Windows服务。现在我们需要启动 Asp .net State service ,如图所示。enter image description here

您的问题将得到解决。

答案 4 :(得分:2)

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

答案 5 :(得分:2)

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

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

答案 6 :(得分:1)

当某些ASP.NET安装损坏时,我遇到了同样的问题。在这种情况下,他们建议running aspnet_regiis -i -enable

答案 7 :(得分:1)

我的一位客户面临同样的问题。采取以下步骤解决此问题。

 (1) Open Run. 

 (2) Type Services.msc

 (3) Select ASP.NET State Service

 (4) Right Click and Start it.

答案 8 :(得分:0)

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

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

我使用函数编写自定义跟踪消息来测量实时站点上会话数据的大小。

答案 9 :(得分:0)

不是最佳答案,但是还是可以选择的:

注释web.config中的给定行。

相关问题