0

大量の送信要求を行う WCF サービスで多くの問題が発生しています。サーバーが停止するまで、IIS 要求がハングアップし続けます。次のコード ビットのような using ステートメントで HttpWebResponse.GetResponse() を呼び出したときに発生していると思われるスタック ダンプを取得しました。

        using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
        {
            using (StreamReader reader = new StreamReader(response.GetResponseStream()))
            {
                str = reader.ReadToEnd();  //Not Being Hot When Exception Thrown

                reader.Close(); //Not Being Hot When Exception Thrown
                response.Close();  //Not Being Hit When Exception Thrown
            }
        }

「WCF クライアントに使用しないでください」などの記事をいくつか見つけました。

私は WCF クライアントを作成していませんが、WCF サービスのコンテキスト内にあるため、これが起こっているのだろうか?

リクエストに 1 分以上かかっているため、例外は TimeoutException です。タイムアウトを変更できることはよく知っていますが、その修正を探していません。この例外が発生したときに接続が出血しているかどうかを知りたいです。

4

1 に答える 1

0

いいえ、オブジェクトが破棄されると接続が閉じられます。ここで Close() を呼び出す必要はありません。

于 2013-07-10T21:53:07.970 に答える