Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 19080|Resposta: 3

[ASP.NET] ASP.NET StateServer que armazena a Sessão

[Copiar link]
Publicado em 18/11/2017 21:20:15 | | | |

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.




Anterior:Refatoração simples de pacotes para o Autofac Container
Próximo:Os estados de sessão não podem ser serializados. No modo "StateServer" ou "SQLServer"...
 Senhorio| Publicado em 18/11/2017 21:21:34 |
ASP.NET módulo de estado de sessão <Sessionstate>determina os quatro valores possíveis da tag no arquivo Web.config < a propriedade de modo da tag sob a tag> System.web: Off, Inproc StateServer e SQLserver.    1 Inprocés é a configuração padrão
Ele permite sessões "sem cookie", assim como o armazenamento dos dados da sessão fora do servidor. ASP.NET módulo de estado de sessão é configurado no arquivo Web.config da seguinte forma:
 Senhorio| Publicado em 26/02/2018 11:02:52 |
Minha própria configuração


 Senhorio| Publicado em 10/07/2022 21:58:32 |
ASP.NET 4 agora oferece suporte embutido para comprimir dados de sessão para armazenar sessões fora do processo. Para ativar esse recurso, basta definirCompressãoHabilitadoA propriedade é definida como "verdadeira", como mostrado no seguinte trecho de código:



ASP.NET usará a classe .NET Framework System.IO.Compression.GZipStream para comprimir (e descomprimir) o estado da sessão.
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com