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

时间:2020-11-05 20:14:17

标签: asp.net-mvc iis session-state stateserver web-garden

我有一个ASP.NET MVC应用程序,该应用程序配置为使用Web Garden运行。 使用以下命令将会话状态模式在web.config中设置为StateServer:

<system.web>
  <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="360" />
</system.web>

ASP.NET状态服务在同一台计算机(而不是远程计算机)上运行,因此上述ip在端口42424上设置为127.0.0.1。它被配置为“自动”,并且始终在运行。

并且应用程序池的最大工作进程数设置为4。

我经常在事件日志中收到有关状态服务器的许多警告消息。低于错误( 事件ID 1310):

Event code: 3009 
Event message: No se pudo realizar la solicitud al servidor de estado de la sesión. Detalles: última fase='Leyendo respuesta del servidor de estado', código de error=0x8007000E, tamaño de datos salientes=0 
Event time: 05/11/2020 16:22:45 
Event time (UTC): 05/11/2020 15:22:45 
Event ID: 2e332c8f5171461e9a635a55ead92129 
Event sequence: 24813 
Event occurrence: 40 
Event detail code: 50016 
 
Application information: 
    Application domain: /LM/W3SVC/2/ROOT-2-132490528848804756 
    Trust level: Full 
    Application Virtual Path: / 
    Application Path: C:\inetpub\wwwroot\MyMvcApp\ 
    Machine name: MyServer
 
Process information: 
    Process ID: 4816 
    Process name: w3wp.exe 
    Account name: MyDomain\MyAppPoolIdentityAccount
 
Exception information: 
    Exception type: HttpException 
    Exception message: No se puede realizar una solicitud de estado de sesión al servidor de estado de sesión. Compruebe que el servicio de estado ASP.NET se ha iniciado y que los puertos de cliente y servidor son los mismos. Si el servidor se encuentra en un equipo remoto, compruebe el valor de HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection para asegurarse de que acepta más solicitudes. Si el servidor se encuentra en el equipo local y si el mencionado valor del registro no existe o está establecido en 0, la cadena de conexión del servidor de estado debe utilizar 'localhost' o '127.0.0.1' como nombre de servidor.

    TRANSLATED TO ENGLISH:
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.
 
Request information: 
    Request URL: http://my.mvcapp.com/Wizard/MakeOrder
    Request path: /Wizard/MakeOrder
    User host address: 172.28.X.XX 
    User: MyDomain\OneUser 
    Is authenticated: True 
    Authentication Type: Negotiate 
    Thread account name: MyDomain\MyAppPoolIdentityAccount 
 
Thread information: 
    Thread ID: 67 
    Thread account name: MyDomain\MyAppPoolIdentityAccount 
    Is impersonating: False 
    Stack trace: 
 
 
Custom event details: 

我确保ASP.NET状态服务已启动并正在运行,并且确保客户端和服务器端口是正确的端口,分别是127.0.0.1和42424。另外,我还有注册表项HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection。由于ASP.NET状态服务在同一台计算机上运行,​​因此该密钥存在且将其设置为0(无需将其设置为1)。

所以,我不明白为什么要说检查状态服务器.....有什么想法吗?我花了很多天在谷歌上搜索,但是我无法解决这个问题。

0 个答案:

没有答案