【问题标题】:Intermittent ASP.Net State Service Error间歇性 ASP.Net 状态服务错误
【发布时间】:2013-11-18 00:07:45
【问题描述】:

我们在虚拟机上托管一个 ASP.net 网站。 ASP.net 会话状态服务正在运行。但是,我们每隔一段时间就会遇到以下异常:

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

我已验证会话状态服务正在运行,并且正在尝试连接到本地主机:

<sessionState mode="StateServer" 
stateConnectionString="tcpip=127.0.0.1:42424" timeout="100"/>

在我的研究中,我发现了以下论坛帖子: http://forums.asp.net/t/1409990.aspx

但是除了尝试在 SQL 模式下运行会话状态之外,没有任何解决此问题的方法。

TL;DR: 出现会话状态服务错误,表明服务没有响应,即使该服务在同一台机器上运行。

【问题讨论】:

  • 只有我一个人,还是上周我们至少有六个这样的问题?
  • 当我寻找这个问题时,有一群人的服务实际上是关闭的,他们需要做的就是打开它。这是一个不同的问题
  • 如果它正在运行并崩溃,则不需要另一个问题!我的由于某种原因崩溃了

标签: asp.net .net session iis


【解决方案1】:

检查您的会话状态提供程序可执行路径是否设置正确,尝试不同的路径(从 .NET 2.0 到 4.0,反之亦然)。上周我们用微软更新修补了我们的服务器,副作用之一是 ASP.NET 会话状态服务的可执行文件从C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_state.exeC:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_state.exe 的静默变化,我们也有这样的错误。您可以在 Windows 服务控制台中查看。

【讨论】:

  • 对不起,我不熟悉这个设置,这个在哪里列出? machine.config 中是否列出了此可执行路径?在服务的应用配置中?
  • 服务控制台下可以使用,可以通过开始>运行运行,输入services.msc。然后选择 ASP.NET Session State 服务并检查其属性。
  • 啊,谢谢。我正在运行 4.0。我现在正在尝试用 2.0 替换。
  • 感谢康拉德,非常感谢您在调查此问题时提供的帮助。我能够找到更重要的文章来帮助我确定我的问题。
【解决方案2】:

经过大量调试后,我发现我们的一位开发人员试图通过将视图状态保存到两个特定页面的会话中来提高视图状态性能。当用户达到大约 20 组不同的视图状态时,会话服务变得过载,并开始崩溃。

我已将页面修改为不再需要视图状态,并且没有发生此异常。

【讨论】:

    猜你喜欢
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-22
    • 2021-12-01
    • 1970-01-01
    • 2012-04-02
    • 2019-09-07
    相关资源
    最近更新 更多