CORRECÇÃO: Um aplicativo baseado no Microsoft .NET Framework 2.0 Service Pack 2 e que invoca uma chamada de serviço da Web assíncrona lança uma exceção em um computador que esteja executando o Windows 7

Traduções deste artigo Traduções deste artigo
ID do artigo: 977020 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Em um computador que esteja executando o Windows 7, você enfrentar um ou mais dos seguintes sintomas.

Sintoma 1

Considere o seguinte cenário:
  • Você executar um serviço da Web assíncrono que utiliza o Microsoft .NET Framework 2.0 Service Pack 2 (SP2) em um servidor.
  • A operação assíncrona HttpWebRequest envia uma solicitação da Web para o serviço da Web.
  • O serviço da Web lança uma exceção.
Nesse cenário, a operação assíncrona HttpWebRequest não chama o método BeginGetResponse ou a função de retorno de chamada. No entanto, a operação assíncrona HttpWebRequest inesperadamente é concluída. O serviço da Web, em seguida, pára de responder. Além disso, o uso da CPU no servidor pode aumentar para 100 por cento e, em seguida, o servidor pára de responder.

Sintoma 2

Considere o seguinte cenário:
  • Você executar um aplicativo baseado no .NET Framework 2.0 SP2 que chama um serviço da Web usando os componentes de cliente de serviço da Web Microsoft ASP.NET da Microsoft. Por exemplo, o código do aplicativo é gerado pelo processo WSDL.exe ou o aplicativo chama a classe SoapHttpClientProtocol.
  • O cliente invoca a chamada de serviço Web assíncrona.
  • O cliente envia uma solicitação para um servidor.
  • O cliente, em seguida, receberá uma resposta da Web que possui conteúdo de comprimento zero.
Quando o serviço da Web tenta processar essa resposta neste cenário, uma exceção System.ArgumentNullException é lançada. Em seguida, recebe a seguinte mensagem de erro:
O valor não pode ser nulo.
Observação: Esse problema não ocorre quando o cliente invoca a chamada de serviço Web sincronicamente.

Causa

Sintoma 1

Esse problema ocorre porque a manipulação de exceção do .NET Framework não considera o caso em que o método HttpWebRequest.EndGetRequestStream lança uma exceção quando essa exceção contém uma resposta do servidor.

Resolução

Informações sobre hotfix

Um hotfix compatível foi disponibilizado pela Microsoft. No entanto, destina-se a corrigir o problema descrito neste artigo. Aplique-o somente nos sistemas que apresentarem esse problema específico. Para resolver esse problema, contate o atendimento ao cliente Microsoft para obter o hotfix. Para obter uma lista completa de números de telefone do serviços de suporte ao cliente da Microsoft e informações sobre os custos de suporte, visite o seguinte site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Observação: Em alguns casos, taxas cobradas pelas ligações para o suporte podem ser canceladas se um profissional de suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos normais de suporte serão aplicados a questões de suporte adicionais e problemas que não se qualificam à atualização específica em questão.

Observação: Você também pode baixar esse pacote cumulativo de hotfix partir do seguinte site do site do Microsoft Connect:
http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=27977

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Mais Informações

Para obter mais informações sobre os problemas descritos na seção "Sintoma 1", clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
973134CORRECÇÃO: O serviço Web pára de responder e uma exceção é lançada quando você executa um serviço da Web baseado em .NET Framework 2.0 S assíncrono
Para obter mais informações sobre os problemas descritos na seção "Sintoma 2", clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
973136CORRECÇÃO: ArgumentNullException mensagem de erro de exceção quando um aplicativo baseado no .NET Framework 2.0 S tenta processar uma resposta com comprimento zero de conteúdo a uma solicitação de serviço da Web ASP.NET assíncrona: "O valor não pode ser nulo"

Propriedades

ID do artigo: 977020 - Última revisão: quarta-feira, 21 de abril de 2010 - Revisão: 5.0
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 2.0 Service Pack 2 nas seguintes plataformas
    • Windows 7 Enterprise
    • Windows 7 Enterprise N
    • Windows 7 Professional
    • Windows 7 Professional N
    • Windows 7 Ultimate
    • Windows 7 Ultimate N
Palavras-chave: 
kbmt kbfix kberrmsg kbbug kbexpertiseinter kbsurveynew kbpubtypekc kbqfe kbhotfixserver KB977020 KbMtpt
Tradução automática
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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 977020

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com