Symptomy
Uwzględnij następujący scenariusz. W programie Microsoft .NET Framework 2,0 użyto metody BeginGetRequestStream oraz metody EndGetRequestStream w klasie HttpWebRequest w celu wykonania asynchronicznego żądania HTTP. W tym scenariuszu podczas próby uzyskania dostępu do obiektu Stream zwróconego przez metodę EndGetRequestStream jest wyświetlany wyjątek System. ObjectDisposedException . Uwaga Ten problem występuje tylko wtedy, gdy właściwość Method w klasie HttpWebRequest jest ustawiona na Właściwość Protocol, która umożliwia przekazywanie danych. Można na przykład ustawić właściwość Method na wartość post.
Przyczyna
Ten problem występuje, gdy serwer sieci Web resetuje lub zamyka połączenie po wysłaniu nagłówka HTTP przez aplikację kliencką. Klasa HttpWebRequest automatycznie próbuje ponownie otworzyć połączenie z serwerem sieci Web, aby zakończyć transfer. Po pomyślnym przeniesieniu Metoda EndGetRequestStream zwraca niepoprawną próbę połączenia, a nie na obiektStream z próby nawiązania połączenia. Gdy aplikacja kliencka próbuje użyć tego usuniętego obiektu Stream , zostanie zwrócony wyjątek System. ObjectDisposedException .
Rozwiązanie
Informacje dotyczące poprawki
Obsługiwana poprawka jest dostępna w firmie Microsoft. Ta poprawka jest jednak przeznaczona tylko do usunięcia problemu opisanego w tym artykule. Poprawkę należy stosować tylko w przypadku systemów, w których występuje ten konkretny problem. Ta poprawka może być dodatkowo testowana. Jeśli nie jest to poważnie narażony na ten problem, zalecamy poczekanie na następną aktualizację oprogramowania zawierającą tę poprawkę. Aby pobrać tę poprawkę z galerii kodu MSDN, odwiedź następującą witrynę firmy Microsoft w sieci Web:
http://code.msdn.microsoft.com/KB918462Uwaga Galeria kodu MSDN wyświetla Języki, dla których poprawka jest dostępna. Jeśli nie widzisz odpowiedniego języka, oznacza to, że strona zasobów galerii kodu jest niedostępna dla tego języka.Uwaga Jeśli wystąpią dodatkowe problemy lub jeśli jest wymagane rozwiązanie problemu, może być konieczne utworzenie oddzielnego żądania usługi. Zwykłe opłaty za pomoc techniczną będą dotyczyć dodatkowych pytań i problemów, które nie kwalifikują się do tej konkretnej poprawki. Aby uzyskać pełną listę numerów telefonów działu obsługi klienta firmy Microsoft lub utworzyć osobne żądanie usługi, odwiedź następującą witrynę firmy Microsoft w sieci Web:
http://support.microsoft.com/contactus/?ws=support
Wymagania wstępne
Aby można było zastosować tę poprawkę, na komputerze musi być zainstalowany program .NET Framework 2,0.
Wymaganie ponownego uruchamiania
Po zastosowaniu tej poprawki nie trzeba ponownie uruchamiać komputera.
Informacje dotyczące zastępowania poprawek
Ta poprawka nie zastępuje żadnych innych poprawek.
Informacje dotyczące pliku
Wersja angielskojęzyczna tej poprawki ma atrybuty plików wymienione w poniższej tabeli (lub nowsze). Daty i godziny dla tych plików są podane w formacie UTC (Coordinated Universal Time). Podczas wyświetlania informacji o pliku są one konwertowane na czas lokalny. Aby sprawdzić różnicę między czasem UTC a lokalnym, Użyj karty strefa czasowa w elemencie Data i godzina w panelu sterowania.
Nazwa pliku |
Wersja pliku |
Rozmiar pliku |
Date |
Okresie |
---|---|---|---|---|
System.dll |
2.0.50727.109 |
3 018 752 |
01-May-2006 |
21:15 |
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".
Więcej informacji
Aby uzyskać więcej informacji na temat klasy HttpWebRequest , odwiedź następującą witrynę Microsoft Developer Network (MSDN) w sieci Web:
http://msdn2.microsoft.com/en-us/library/system.net.httpwebrequest.aspxAby uzyskać więcej informacji na temat klasy System. ObjectDisposedException , odwiedź następującą witrynę MSDN w sieci Web:
http://msdn2.microsoft.com/en-us/library/system.objectdisposedexception.aspxAby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
824684 Opis standardowej terminologii używanej do opisywania aktualizacji oprogramowania firmy Microsoft