HttpWebRequest、リクエストのキャンセルに関する既知の問題?
-
06-07-2019 - |
質問
HttpWebRequest HTTPリクエストのキャンセルに関して既知の問題はありますか? 4〜5件のリクエストをキャンセルすると、次のリクエストが無期限にハングすることがわかりました。
これに関する既知の問題がない場合、おそらく何か間違っています...これがどのように機能するかを示す良いリソースの例はどこにありますか? >
既知の問題がある場合、必要な数の要求を効果的にキャンセルするために、それらを回避するにはどうすればよいですか?
解決
リクエストをキャンセルした後、応答ストリームを閉じるように注意してください。閉じるとリークが発生します。
通常、「使用」を使用します。 Webリクエストからレスポンスを取得して、レスポンスが閉じられていることを確認する場合:
WebRequest request = WebRequest.Create("http://google.com");
using (WebResponse response = request.GetResponse())
{
//do my job
}
この方法では、リクエストをキャンセルしたり、レスポンスの読み取り中に例外をスローしたりしても、resposneとそのストリームは閉じられます。
所属していません StackOverflow