Sintomas
Num computador que esteja a executar o Windows 7, detectar um ou mais dos seguintes sintomas.
Sintoma 1
Considere o seguinte cenário:
-
Executar um serviço Web assíncrono que utiliza o Microsoft .NET Framework 2.0 Service Pack 2 (SP2) num servidor.
-
A operação assíncrona HttpWebRequest envia um pedido Web ao serviço Web. -
O serviço Web lança uma excepção.
Neste cenário, a operação assíncrona de HttpWebRequest não chama o método de BeginGetResponse ou a função de chamada de retorno. No entanto, a operação assíncrona HttpWebRequest inesperadamente está concluída. O serviço Web, em seguida, deixa de responder. Além disso, a utilização da CPU no servidor pode aumentar a 100 por cento e, em seguida, o servidor deixa de responder.
Sintoma 2
Considere o seguinte cenário:
-
Executa uma aplicação baseada no .NET Framework 2.0 SP2 que chama um serviço Web utilizando os componentes de cliente do serviço Web do Microsoft ASP.NET. Por exemplo, o código da aplicação é gerado pelo processo de Wsdl.exe, ou a aplicação chamar a classe SoapHttpClientProtocol .
-
O cliente invoca a chamada de serviço Web de modo assíncrono.
-
O cliente envia um pedido para um servidor.
-
O cliente, em seguida, recebe uma resposta de Web que tem conteúdo de comprimento zero.
Quando o serviço Web tenta processar esta resposta neste cenário, é accionada uma excepção de System.ArgumentNullException . Em seguida, recebe a seguinte mensagem de erro:
Valor não pode ser nulo.
Nota Este problema não ocorre quando o cliente invoca a chamada de serviço Web de modo síncrono.
Causa
Sintoma 1
Este problema ocorre porque o processamento de excepções de .NET Framework não considera o caso em que o método HttpWebRequest.EndGetRequestStream inicia uma excepção quando essa excepção contém uma resposta do servidor.
Resolução
Informações sobre correção
Agora tem uma correcção suportada disponível na Microsoft. Contudo, destina-se apenas a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico.
Para transferir esta correcção, visite o seguinte Web site Microsoft Connect:
http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=27977
Estado
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".
Mais informações
Para mais informações sobre os problemas descritos na secção "Sintomas 1", clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
CORRIGIR 973134 : serviço Web deixa de responder e é emitida uma excepção quando executa um serviço Web baseado no .NET Framework 2.0 S assíncrono
Para mais informações sobre os problemas descritos na secção "Sintomas 2", clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
CORRIGIR 973136 : mensagem de erro de excepção ArgumentNullException quando uma aplicação baseada no .NET Framework 2.0 S tenta processar uma resposta com teor de comprimento zero para um pedido de serviço Web do ASP.NET assíncrono: "O valor não pode ser nulo"