Incapaz de fazer o pedido de estado de sessão ao servidor de estado de sessão


122

Nosso site está tendo este problema. Basicamente, isso só acontece quando clicamos em alguns links específicos, onde uma nova janela será exibida.
Esta é a mensagem de erro que recebemos:

Não é possível fazer a solicitação de estado de sessão ao servidor de estado de sessão.
Certifique-se de que o serviço ASP.NET State seja iniciado e que as portas do cliente e do servidor sejam as mesmas.
Se o servidor estiver em uma máquina remota, certifique-se de que ele aceita solicitações remotas verificando o valor de HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection.
Se o servidor estiver na máquina local e se o valor de registro mencionado anteriormente não existir ou estiver definido como 0, a string de conexão do servidor de estado deve usar 'localhost' ou '127.0.0.1' como o nome do servidor.

site de destino:
Void MakeRequest (StateProtocolVerb, System.String, StateProtocolExclusive, Int32, Int32, Int32, Byte [], Int32, Int32, SessionNDMakeRequestResults ByRef)

este é o webconfig que contém a tag sessionstate:

<sessionState mode="StateServer" timeout="45" />

Verifiquei o serviço de estado do ASP.NET e está atualmente iniciado e definido como automático

Eu configurei o registro indicado na mensagem de erro como 1, mas ainda não está funcionando.

Respostas:


305
  1. Iniciar–> Ferramentas Administrativas -> Serviços
  2. Clique com o botão direito em ASP.NET State Service e clique em “start”

Além disso, você pode definir o serviço como automático para que funcione após uma reinicialização


2
Às vezes, descobri que só funciona depois de reiniciar o serviço de estado do ASP.NET algumas vezes!
Matthew Lock

2
Trabalhe como um encanto para mim
Arun

1
O nome exato é aspnet_state.
AmiNadimi

1
Seu meu herói ... estava procurando por isso por tanto tempo.
G43beli de

1
você me salvou ... horas movendo todo mundo ... e yoy chega com esta solução fácil ... realmente .. obrigado
Roger Tello

26

Se você precisar alterar HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection para 1, lembre-se de reiniciar o serviço de estado ASP.net após alterar o parâmetro.


@hikkenmikke Como você verifica e altera HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection
Pomster

8

Verifique se:

stateConnectionString="tcpip=server:port"

está correto. Além disso, verifique se a porta padrão ( 42424) está disponível e se o seu sistema não tem um firewallque esteja bloqueando a porta em seu sistema


1
Eu tenho o mesmo problema, verifiquei se meu serviço de estado de sessão está funcionando corretamente, mas ainda recebo a mesma mensagem. Aqui está minha configuração web.config: <sessionState mode = "StateServer" stateConnectionString = "tcpip = 127.0.0.1: 42424" sqlConnectionString = "data source = 127.0.0.1; Trusted_Connection = yes" cookieless = "false" timeout = "30" />
lstanczyk de

5

Digite Services.msc no painel de execução da janela de execução do Windows. Ele listará todos os serviços do Windows em nosso sistema. Agora precisamos iniciar o serviço Asp .net State como mostrado na imagem.insira a descrição da imagem aqui

Seu problema será resolvido.


Recebi este erro após reiniciar devido ao Windows Update. Eu segui essas etapas e funcionou. Obrigado.
Mauricio Arias Olave

4

Um de meus clientes estava enfrentando o mesmo problema. As etapas a seguir são executadas para corrigir isso.

 (1) Open Run. 

 (2) Type Services.msc

 (3) Select ASP.NET State Service

 (4) Right Click and Start it.

2

Outra coisa a verificar é se o Firewall do Windows está habilitado, pois isso pode estar bloqueando a porta 42424.


2

Descobri que alguns desenvolvedores, por algum motivo, definirão o IP privado do servidor fora do IIS em um local inesperado, como um arquivo de configuração fora do padrão (ou seja, não web.config) ou um arquivo de texto. Isso pode fazer com que a operação interna falhe mesmo quando o serviço é iniciado, as portas não estão sendo bloqueadas, as chaves de registro estão corretas etc.

A Kaseya, em particular, coloca um arquivo chamado serveripinternal.txt no diretório raiz do IIS do servidor VSA. Eu vi o texto do seu erro quando alguém executando sua própria instância Kaseya alterou o IP interno do servidor. O servidor estará acessível, o IIS responderá e a página de login aparecerá - mas o login falhará com a mensagem citada.



0

Recentemente, encontrei esse problema e nenhuma das soluções propostas o corrigiu. O problema acabou sendo um uso excessivo de conjuntos de dados armazenados na sessão. Houve uma falha no código que fez com que o tamanho da sessão aumentasse 10x.

Existe um artigo no blog do msdn que também fala sobre isso. http://blogs.msdn.com/b/johan/archive/2006/11/20/sessionstate-performance.aspx

Usei uma função para escrever mensagens de rastreamento personalizadas para medir o tamanho dos dados da sessão no site ao vivo.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.