現象
Windows 7 を実行しているコンピューターで 1 つまたは複数、以下の現象が発生します。
現象 1
次のような状況を考えます。
-
サーバー上の Microsoft.NET Framework 2.0 Service Pack 2 (SP2) を使用する非同期の Web サービスを実行するとします。
-
HttpWebRequestの非同期操作は、Web サービスに Web 要求を送信します。 -
Web サービスでは、例外をスローします。
このシナリオでは、 HttpWebRequestの非同期操作が呼び出されません、 BeginGetResponseメソッドまたはコールバック関数。ただし、 HttpWebRequestの非同期操作の完了しました。Web サービスは、応答を停止します。サーバーの CPU 使用率が 100% に向上して、サーバーが応答を停止し、さらに、します。
現象 2
次のような状況を考えます。
-
マイクロソフトの Microsoft ASP.NET の Web サービスのクライアント コンポーネントを使用して Web サービスを呼び出す.NET Framework 2.0 SP2 ベースのアプリケーションを実行するとします。アプリケーション コードが、Wsdl.exe によって生成されたなど、アプリケーションは、 SoapHttpClientProtocolクラスを呼び出します。
-
クライアントは、Web サービスの呼び出しを非同期で呼び出します。
-
クライアントは、サーバーに要求を送信します。
-
クライアントは、長さ 0 のコンテンツを持つ Web 応答を受信します。
Web サービスは、このシナリオでは、この応答を処理する際に、 System.ArgumentNullException例外がスローされます。その後、次のエラー メッセージが表示されます。
値を null にすることはできません。
注: この問題は、クライアントが Web サービスの呼び出しを同期的に呼び出すときに発生しません。
原因
現象 1
この問題は、.NET Framework の例外処理がその例外には、サーバーからの応答が含まれているときに、 HttpWebRequest.EndGetRequestStreamメソッドが例外をスローする場合を考慮していないために発生します。
解決策
修正プログラムの情報
サポートされている修正プログラムはマイクロソフトから現在入手可能です。ただし、それはこの資料に記載された問題のみを修正するものです。この特定の問題が発生したシステムにのみ適用してください。
この修正プログラムをダウンロードするには、次のマイクロソフト接続 Web サイトを参照してください。
http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=27977
状況
マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。
詳細
詳細については、「現象 1」に記載されている問題について、マイクロソフト サポート技術情報記事を表示するには次の資料番号をクリックしてします。
973134を修正する: Web サービスが応答を停止し、.NET Framework 2.0 S ベースの非同期 Web サービスを実行すると、例外がスローされます
詳細については、「現象 2」に記載されている問題について、マイクロソフト サポート技術情報記事を表示するには次の資料番号をクリックしてします。
973136の修正: ArgumentNullException 例外エラー メッセージが長さ 0 のコンテンツを含む ASP.NET Web サービスの非同期要求への応答を処理する際に.NET Framework 2.0 S ベースのアプリケーション:「の値を null にすることはできません」