Impossível ler dados da conexão de transporte: Uma conexão existente foi forçosamente fechada pelo host remoto

1

Estou tendo um problema com um programa em que depois de 6 minutos + - 5 segundos recebemos a exceção acima. Mais algumas informações sobre o stacktrace de exceção estão abaixo. Isso tudo acontece muito religiosamente, 6 minutos se passa e bam as seguintes 3 exceções. Nós temos o aplicativo instalado em dois outros ambientes e está funcionando bem lá. Eu estou esperando para encontrar algumas configurações do servidor IIS 6 ou configurações do Server 2003 que podem estar causando esse problema ocorra.

Eu revi algumas das perguntas semelhantes e não vejo muitas respostas. Espero que talvez as informações que eu forneci possam ajudar um pouco.

208741,Exception,,,,2011-06-21 00:30:14.193,SERVERNAME,2624,1,CLIENTNAME,The underlying connection was closed: An unexpected error occurred on a receive. ,   at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
 at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
 at Microsoft.Web.Services3.WebServicesClientProtocol.GetResponse(WebRequest request, IAsyncResult result)
 at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
 at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
 at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count)
 at System.Net.Security._SslStream.StartFrameHeader(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
 at System.Net.Security._SslStream.StartReading(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
 at System.Net.Security._SslStream.ProcessRead(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
 at System.Net.TlsStream.Read(Byte[] buffer, Int32 offset, Int32 size)
 at System.Net.PooledStream.Read(Byte[] buffer, Int32 offset, Int32 size)
 at System.Net.Connection.SyncRead(HttpWebRequest request, Boolean userRetrievedStream, Boolean probeRead),2004437127,114,1

208742,Exception,,,,2011-06-21 00:30:14.227,SERVERNAME,2624,1,CLIENTNAME,Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ,   at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
 at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count)
 at System.Net.Security._SslStream.StartFrameHeader(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
 at System.Net.Security._SslStream.StartReading(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
 at System.Net.Security._SslStream.ProcessRead(Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
 at System.Net.TlsStream.Read(Byte[] buffer, Int32 offset, Int32 size)
 at System.Net.PooledStream.Read(Byte[] buffer, Int32 offset, Int32 size)
 at System.Net.Connection.SyncRead(HttpWebRequest request, Boolean userRetrievedStream, Boolean probeRead),2004437127,114,1

208743,Exception,,,,2011-06-21 00:30:14.287,SERVERNAME,2624,1,CLIENTNAME,An existing connection was forcibly closed by the remote host ,   
 at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size),-691097507,62,1
    
por Paul J. Warner 22.06.2011 / 14:29

1 resposta

1

O seu aplicativo está usando o keep-alive do HTTP para manter uma conexão aberta ou esta é uma grande transferência de arquivos?

Dê uma olhada nas configurações de tempo limite no IIS (o MS tem uma boa referência aqui ), mas meu instinto diz que não está lá - esse erro parece implicar que um pacote RST está sendo recebido, o que não faz sentido para um servidor web usar ao fechar uma conexão devido ao tempo limite.

Verifique se algo diferente do IIS pode estar envolvido; Especificamente, se houver um firewall ou servidor proxy no caminho da rede, ele poderá estar aplicando seu próprio valor de tempo limite.

    
por 22.06.2011 / 16:52