CORRECÇÃO: Uma aplicação que se baseia no Microsoft .NET Framework 2.0 Service Pack 2 e que invoca uma chamada de serviço Web assincronamente inicia uma excepção num computador que está a executar o Windows 7

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 977020
Sintomas
Num computador que esteja a executar o Windows 7, detecta um ou mais dos seguintes sintomas.

Sintoma 1

Considere o seguinte cenário:
  • Executa 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 HttpWebRequest não chama o método BeginGetResponse ou a função de chamada de retorno. No entanto, a operação assíncrona HttpWebRequest inesperadamente é concluída. O serviço da 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 Microsoft ASP.NET Web Microsoft. Por exemplo, o código da aplicação é gerado pelo processo Wsdl.exe ou a aplicação chamar a classe SoapHttpClientProtocol.
  • O cliente invoca a chamada de serviço Web assincronamente.
  • O cliente envia um pedido para um servidor.
  • O cliente, em seguida, recebe uma resposta de Web com conteúdo de comprimento zero.
Quando o serviço da Web tenta processar esta resposta neste cenário, é accionada uma excepção System.ArgumentNullException. Em seguida, recebe a seguinte mensagem de erro:
O valor não pode ser nulo.
Nota Este problema não ocorre quando o cliente invoca a chamada de serviço Web síncrona.
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 a correcção

Tem já disponível na Microsoft uma correcção suportada. Contudo, destina-se a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Para resolver este problema, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa dos números de telefone do suporte técnico da Microsoft e informações sobre os custos de suporte, visite o seguinte Web site da Microsoft: Nota Em casos especiais, os custos normalmente inerentes às chamadas de suporte poderão ser anulados se um técnico de suporte da Microsoft determinar que uma actualização específica resolverá o problema. Os custos normais do suporte serão aplicados a perguntas de suporte adicionais e problemas que não se enquadrem na atualização específica em questão.

Nota Também pode transferir este conjunto de correcções a partir do seguinte site da Microsoft na Web de ligação:
Ponto Da Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".
Mais Informação
Para obter mais informações sobre os problemas descritos na secção "Sintomas 1", clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
973134CORRECÇÃO: O 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 obter mais informações sobre os problemas descritos na secção "Sintomas 2", clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
973136Mensagem de erro de excepção do correcção: ArgumentNullException quando uma aplicação baseada no .NET Framework 2.0 S tenta processar uma resposta com teor de comprimento zero a um pedido assíncrono de serviço Web do ASP.NET: "Valor não pode ser nulo"

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 977020 - Última Revisão: 04/21/2010 23:28:39 - Revisão: 5.0

Microsoft .NET Framework 2.0 Service Pack 2

  • kbmt kbfix kberrmsg kbbug kbexpertiseinter kbsurveynew kbpubtypekc kbqfe kbhotfixserver KB977020 KbMtpt
Comentários