0

HttpWebRequest HTTP 要求のキャンセルに関する既知の問題はありますか? 4 ~ 5 件のリクエストをキャンセルすると、次のリクエストが無期限にハングすることがわかりました。

これに既知の問題がない場合、私はおそらく何か間違ったことをしています...これがどのように機能するかを示す良いリソースの例はどこにありますか(いくつかのコードスニペットではなく、完全な解決策)?

既知の問題がある場合、必要なだけ多くのリクエストを効果的にキャンセルするために、それらを回避するにはどうすればよいですか?

4

1 に答える 1

1

リクエストをキャンセルしたら、レスポンス ストリームを閉じるように注意してください。そうしないと、リークが発生します。

私は通常、Web リクエストからレスポンスを取得するときに「using」を使用して、レスポンスが確実に閉じられるようにします。

WebRequest request = WebRequest.Create("http://google.com");

using (WebResponse response = request.GetResponse())
{
   //do my job
}

そうすれば、リクエストをキャンセルしたり、レスポンスの読み取り中に例外がスローされたりしても、レスポンスとそのストリームは閉じられます。

于 2008-11-03T21:07:50.337 に答える