Poprawka: Aplikacja jest oparty na programie Microsoft.NET Framework 2.0 z dodatkiem Service Pack 2 i które wywołuje asynchronicznie wywołania usługi sieci Web zgłasza wyjątek na komputerze z systemem Windows 7

Objawy

Na komputerze, na którym jest uruchomiony system Windows 7 wystąpić jeden lub kilka z następujących symptomów.

Symptom 1

Rozważ następujący scenariusz:

  • Możesz uruchomić asynchroniczne usługi sieci Web, który używa programu Microsoft.NET Framework 2.0 z dodatkiem Service Pack 2 (SP2) na serwerze.


  • Operacja asynchroniczna HttpWebRequest wysyła żądania sieci Web do usługi sieci Web.

  • Usługa sieci Web zgłasza wyjątek.

W tym scenariuszu HttpWebRequest operacji asynchronicznej nie wywołuje Metoda lub funkcji wywołania zwrotnego. Jednak operacja asynchroniczna HttpWebRequest jest nieoczekiwanie zakończona. Następnie usługa sieci Web przestaje odpowiadać. Ponadto wykorzystanie Procesora na serwerze może wzrosnąć do 100 procent, a następnie serwer przestaje odpowiadać.

Symptom 2

Rozważ następujący scenariusz:

  • Uruchamianie aplikacji opartych na programie.NET Framework 2.0 z dodatkiem SP2, która wywołuje usługi sieci Web za pomocą składników Microsoft ASP.NET Web usługi klienta. Na przykład kod aplikacji jest generowany przez proces Wsdl.exe lub aplikacja wywołuje klasy SoapHttpClientProtocol .

  • Klient wywołuje asynchronicznie wywołania usługi sieci Web.

  • Klient wysyła żądanie do serwera.

  • Następnie klient odbiera odpowiedź w sieci Web, która ma zerowej długości zawartości.

Gdy usługa sieci Web próbuje przetworzyć tę odpowiedź w tym scenariuszu, generowany jest wyjątek . Następnie pojawi się następujący komunikat o błędzie:

Wartość nie może być zerowy.

Uwaga Ten problem nie występuje, gdy klient wywołuje synchronicznie wywołania usługi sieci Web.

Przyczyna

Symptom 1

Ten problem występuje, ponieważ obsługa wyjątków.NET Framework nie należy rozważyć przypadek, w którym metoda HttpWebRequest.EndGetRequestStream zgłasza wyjątek, gdy ten wyjątek zawiera odpowiedź z serwera.

Rozwiązanie

Informacje o poprawce

Obsługiwana poprawka jest obecnie udostępniana przez firmę Microsoft. Jednak jest ona przeznaczona do usunięcia tylko problemu opisanego w tym artykule. Zastosuj ją tylko w systemach, w których występuje ten problem.

Aby pobrać tę poprawkę, odwiedź następującą witrynę sieci Web Microsoft Connect:

http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=27977

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 dotyczących problemów, które są opisane w sekcji "Symptom 1" kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

NAPRAW 973134 : Usługa sieci Web przestaje odpowiadać, a wyjątek podczas uruchamiania z systemem.NET Framework 2.0 S asynchroniczne usługi sieci Web

Aby uzyskać więcej informacji dotyczących problemów, które są opisane w sekcji "Symptom 2" kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

NAPRAW 973136 : ArgumentNullException komunikat o błędzie wyjątku podczas aplikacji opartej na systemie.NET Framework 2.0 S próbuje przetworzyć odpowiedzi o zerowej długości zawartości na żądanie asynchroniczne usługi sieci Web ASP.NET: "Wartość nie może być null"

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Jak zadowalająca jest jakość tłumaczenia?

Co wpłynęło na Twoje wrażenia?

Czy chcesz przekazać jakieś inne uwagi? (Opcjonalnie)

Dziękujemy za opinię!

×