Sintomas
Considere o seguinte cenário. No Microsoft .NET Framework 2.0, utiliza o método BeginGetRequestStream e o método EndGetRequestStream na classe HttpWebRequest para completar um pedido HTTP assíncrono. Neste cenário, quando tenta aceder ao objeto Stream que é devolvido pelo método EndGetRequestStream, recebe uma exceção System.ObjectDisposedException. Nota Este problema só ocorre se definir a propriedade Method na classe HttpWebRequest para uma propriedade protocolar que faz upload de dados. Por exemplo, você definiu a propriedade Method para POST.
Causa
Este problema ocorre quando o servidor Web reinicia ou fecha a ligação após a aplicação do cliente enviar o cabeçalho HTTP. A classe HttpWebRequest tenta automaticamente reabrir uma ligação ao servidor Web para completar a transferência. Quando a transferência for bem sucedida, o método EndGetRequestStream retorna incorretamente o objeto Stream da primeira tentativa de ligação falhada, em vez do objeto Stream da tentativa de ligação bem sucedida. Quando a aplicação do cliente tenta utilizar este objeto stream eliminado, é lançada uma exceção System.ObjectDisposedException.
Resolução
Informações sobre hotfix
Um hotfix suportado está disponível na Microsoft. No entanto, este hotfix destina-se a corrigir apenas o problema descrito neste artigo. Aplique este hotfix apenas em sistemas que estão a passar por este problema específico. Este hotfix pode receber testes adicionais. Portanto, se não for severamente afetado por este problema, recomendamos que aguarde a próxima atualização de software que contenha este hotfix. Para descarregar este hotfix a partir da MSDN Code Gallery, visite o seguinte web site da Microsoft:
http://code.msdn.microsoft.com/KB918462Nota A MsDN Code Gallery exibe os idiomas para os quais o hotfix está disponível. Se não vê o seu idioma listado, é porque a página de recursos da Code Gallery não está disponível para esse idioma.Nota Se ocorrerem problemas adicionais ou se for necessária uma resolução de problemas, poderá ter de criar um pedido de serviço separado. Os custos habituais de apoio aplicar-se-ão a questões adicionais de apoio e questões que não se qualificam para este hotfix específico. Para obter uma lista completa dos números de telefone do Serviço de Apoio ao Cliente e do Suporte ao Cliente da Microsoft ou para criar um pedido de serviço separado, visite o seguinte web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Pré-requisitos
Deve ter o Quadro .NET 2.0 instalado para aplicar este hotfix.
Requisito de reiniciar
Não é preciso reiniciar o computador depois de aplicar este hotfix.
Informações sobre substituição de correções
Este hotfix não substitui quaisquer outros hotfixes.
Informações de arquivo
A versão inglesa desta correção tem os atributos de ficheiro listados na tabela que se segue (ou atributos de ficheiro posteriores). As datas e horas destes ficheiros estão listadas no formato de Hora Universal Coordenada (UTC). Quando visualizar as informações dos ficheiros, estas serão convertidas na hora local. Para encontrar a diferença entre UTC e a hora local, utilize o separador Fuso Horário no item Data e Hora no Painel de Controlo.
Nome do arquivo |
Versão de arquivo |
Tamanho do arquivo |
Data |
Tempo |
---|---|---|---|---|
System.dll |
2.0.50727.109 |
3,018,752 |
01-May-2006 |
21:15 |
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".
Mais Informações
Para obter mais informações sobre a classe HttpWebRequest, visite o seguinte web site da Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/system.net.httpwebrequest.aspxPara obter mais informações sobre a classe System.ObjectDisposedException, visite o seguinte web site da MSDN:
http://msdn2.microsoft.com/en-us/library/system.objectdisposedexception.aspxPara mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:
824684Descrição da terminologia padrão utilizada para descrever as atualizações de software da Microsoft