Dado que la empresa necesita balancear la carga del servidor, el proyecto web despliega uno en cada uno de los dos servidores frontales (web1 y web2). Pero las sesiones se usan en los proyectos. Cuando aterrizas por primera vez en web1, es posible saltar de web1 a web2 porque la carga puede aumentar después de web1. Encontré mucha información en Internet, y también entiendo la configuración en web.config <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="30" cookieless="AutoDetect" /> Muchos ejemplos en Internet son stateConnectionString="tcpip=127.0.0.1:42424", que por supuesto está bien en un servidor web, pero cuando cambias stateConnectionString a stateConnectionString="tcpip=192.168.1.82: 42424", habrá problemas con ambos frontends. Microsoft no ofreció una solución específica, y los ejemplos en MSDN también apuntan a la versión 127.0.0.1. Más tarde, tras investigar y consultar con expertos, me di cuenta de que tenía que modificar el registro del servidor que guarda Sessin, aquí está 192.168.1.82, y la modificación es la siguiente: Modificar el registro:
HKEY_LOCAL_MACHINE"SYSTEM"CurrentControlSet"Servicios"aspnet_state"Parámetros
AllowRemoteConnection=1
Luego reiniciar el Servicio Estatal ASP.NET
La configuración de la conexión es la siguiente:
<sessionState mode="StateServer" stateConnectionString="tcpip=192.168.1.200:42424" cookieless="AutoDetect" tiempo límite="60" />
Después de eso, todo estuvo bien tras las pruebas. Espero que ayude a otros. Hay otro problema que todavía no entiendo. La página wap que he creado tendrá los datos almacenados en el ViewState de la página, y cuando la página se actualiza constantemente, los datos se perderán y el tiempo nunca superará los 20 minutos. No sé si es un error de Microsoft o qué, este problema no aparece en las páginas web. Solución. Tras un periodo de exploración, es mejor usar menos estado de vista en la página de WAP y, si el servicio de estado de asp.net está habilitado, lo mejor es poner cookieless en true, de lo contrario se perderá la sesión. |