Servidor de estado registra ID do evento 1072 ou ID do evento 1076

Este artigo ajuda você a resolve o problema em que a ID de eventos de log 1072 ou 1076 em servidores estaduais.

Versão original do produto: Microsoft .NET Framework
Número de KB original: 308097

Sintomas

Um dos eventos abaixo aparece no log de Eventos de Aplicativo do computador servidor de estado ao usar o modo de servidor de estado do estado do estado de sessão em ASP.NET. Isso acontece quando o servidor Web ou o computador que executa o servidor de estado estão sob alto estresse.

Tipo de evento:Erro
Fonte do evento:ASP.NET 1.0.3306.0
Categoria de evento:Nenhum
ID do evento:1072
Data:12/9/2001
Hora:4:00:25 PM
Usuário: N/A
Computador: ComputerName
Descrição:
Ocorreu um erro durante o processamento de uma solicitação no servidor de estado. Ponto de chamada principal: EndOfRequest. Código de erro: 0x80072746

Observação

A versão do .NET Framework mencionada na mensagem de evento anterior é uma versão de pré-lançamento do .NET Framework 1.0.

Tipo de evento:Erro
Fonte do evento:ASP.NET 1.0.3306.0
Categoria de evento:Nenhum
ID do evento:1076
Data:12/9/2001
Hora:4:02:05 PM
Usuário: N/A
Computador: ComputerName
Descrição:
O servidor de estado fechou uma conexão TCP/IP expirada. O endereço IP do cliente é 127.0.0.1. A operação leitura expirada começou em 12/09/2001 16:02:00.

Observação

A versão do .NET Framework mencionada na mensagem de evento anterior é uma versão de pré-lançamento do .NET Framework 1.0.

Tipo de Evento: Erro
Fonte do evento: ASP.NET 1.1.4322.0
Categoria de evento: Nenhum
ID do evento: 1078
Data: 6/10/2005
Hora: 11:03:47 AM
Usuário: N/A
Computador: ComputerName
O servidor de estado fechou uma conexão TCP/IP expirada. O endereço IP do cliente é 127.0.0.1. A operação leitura expirada começou em 06/10/2005 11:03:25.

Motivo

Ao usar o modo de servidor de estado do estado de Sessão em ASP.NET, o processo de servidor Web ASP.NET no servidor Web se comunica com o servidor de estado usando WinSocket sobre Protocolo de Controle de Transmissão/Protocolo de Internet (TCP/IP). Por padrão, o processo do servidor Web define o valor de tempo limite de todas as operações de envio e recebimento de TCP/IP para 10 segundos. Da mesma forma, o servidor de estado também acaba com todas as operações de envio e recebimento de TCP/IP após 10 segundos.

No entanto, se o servidor Web ou o servidor de estado estiver sob alta utilização da CPU (cerca de 100 por cento), uma operação TCP/IP poderá levar mais de 10 segundos e, portanto, será cancelada antes da conclusão. Como resultado, um dos eventos mencionados acima é registrado e a solicitação de cliente de origem falha. O servidor de estado registra a ID do evento 1072 se o processo do servidor Web ASP.NET em tempo limite uma operação TCP/IP. Se o servidor de estado registrar um tempo limite em uma operação TCP/IP, o servidor de estado registrará a ID do evento 1076.

Resolução

Para modificar o valor de tempo limite da operação TCP/IP para o processo do servidor Web ASP.NET, altere o atributo a seguir no arquivo Machine.config (ou especifique o atributo a seguir no arquivo Web.config para qualquer aplicativo Web).

 <sessionState
    stateNetworkTimeout="10"
 />

Veja como modificar o valor de tempo limite da operação TCP/IP para o servidor de estado:

  1. Pare o serviço de servidor de estado ASP.NET.
  2. Selecione Iniciar, selecione Executar, digite Regedt32.exee selecione OK para iniciar o Registro Editor.
  3. Localize a seguinte chave no registro: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameter
  4. Adicione um valor DWORD chamado SocketTimeout. Defina um inteiro positivo para representar o novo tempo limite TCP/IP em segundos.
  5. Saia do Editor do Registro.
  6. Reinicie o serviço de servidor de estado ASP.NET.

Para usuários que experimentam os problemas mencionados na seção Sintomas , use esses métodos para aumentar os valores de tempo limite no servidor de estado e em todos os servidores Web para 20 segundos.

Observação

Se o servidor de estado não estiver em execução quando você aumentar os valores de tempo limite no servidor Web, a solicitação do cliente sairá após n segundos, em que n será igual a um novo valor de tempo limite, em vez dos 10 segundos padrão.