.NET WebClient を使用したダウンロード時のタイムアウトの処理
標準の .NET WebClient
を使用して低速サーバーからデータをダウンロードすると、タイムアウト例外が発生する可能性があります。 この問題は、タイムアウト期間を長くすることで解決できます。
一般的な解決策には、GetWebRequest
メソッドをオーバーライドする派生クラスを作成することが含まれます。これにより、リクエストのタイムアウト設定をカスタマイズできます。
これを実装する方法は次のとおりです:
<code class="language-csharp">private class ExtendedWebClient : WebClient { protected override WebRequest GetWebRequest(Uri uri) { WebRequest request = base.GetWebRequest(uri); request.Timeout = 20 * 60 * 1000; // Set timeout to 20 minutes return request; } }</code>
この ExtendedWebClient
クラスを使用すると、遅いサーバーからのダウンロードが完了するまでの時間が長くなり、タイムアウト例外がスローされます。
以上が.NET WebClient ダウンロードのタイムアウトを増やすにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。