Como a empresa precisa balancear a carga do servidor, o projeto web implanta um em cada um dos dois servidores front-end (web1 e web2). Mas sessões são usadas em projetos. Quando você pousa pela primeira vez no web1, é possível pular do web1 para o web2, pois a carga pode aumentar após o web1. Encontrei muita informação na internet, e também entendo a configuração no web.config <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="30" cookieless="AutoDetect" /> Muitos exemplos na Internet são stateConnectionString="tcpip=127.0.0.1:42424", o que é claro que é aceitável em um servidor web, mas quando você muda stateConnectionString para stateConnectionString="tcpip=192.168.1.82: 42424", haverá problemas com ambas as interfaces. A Microsoft não apresentou uma solução específica, e os exemplos no MSDN também apontam para a versão 127.0.0.1. Mais tarde, após pesquisar e consultar especialistas, percebi que precisava modificar o registro do servidor que salva o Sessin, aqui está 192.168.1.82, e a modificação é a seguinte: Modificar o registro:
HKEY_LOCAL_MACHINE"SYSTEM"CurrentControlSet"Serviços"aspnet_state"Parâmetros
AllowRemoteConnection=1
Depois, reinicie o Serviço Estadual ASP.NET
A configuração da conexão é a seguinte:
<sessionState mode="StateServer" stateConnectionString="tcpip=192.168.1.200:42424" cookieless="AutoDetect" timeout="60" />
Depois disso, ficou tudo bem após o teste. Espero que ajude outras pessoas. Há outro problema que ainda não entendo. A página wap que criei terá os dados armazenados no ViewState da página, e quando a página for constantemente atualizada, os dados nela serão perdidos e o tempo nunca ultrapassará 20 minutos. Não sei se é um bug da Microsoft ou o quê, esse problema não aparece nas páginas da web. Solução. Após um período de exploração, é melhor usar menos viewstate na página do WAP e, se o serviço de estado asp.net estiver ativado, é melhor definir cookieless como true, caso contrário a sessão será perdida. |