FIX: Recebe uma exceção System.ObjectDisposedException quando tenta aceder a um objeto stream que é devolvido pelo método EndGetRequestStream no Quadro .NET 2.0

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

Precisa de mais ajuda?

Aumente os seus conhecimentos
Explore as formações
Seja o primeiro a obter novas funcionalidades
Aderir ao Microsoft insiders

As informações foram úteis?

Obrigado pelos seus comentários!

×