WebClientを使用してタイムアウトの管理
webclient.downloadfile()メソッドは、長いダウンロード待機につながる場合があります。 これを回避するには、タイムアウトメカニズムを実装することが重要です。 これにより、ダウンロードが無期限にハングアップしないようにします。
ソリューションでは、
を拡張するカスタムクラスを作成して、タイムアウトプロパティを管理します。 方法は次のとおりです。
using System;
using System.Net;
public class WebDownload : WebClient
{
///
/// Timeout in milliseconds
///
public int Timeout { get; set; }
public WebDownload() : this(60000) { }
public WebDownload(int timeout)
{
this.Timeout = timeout;
}
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
if (request != null)
{
request.Timeout = this.Timeout;
}
return request;
}
}
webdownload クラスは標準 webclient
のような関数ですが、構成可能な timeout
プロパティを追加します。
このアプローチは、
webclient.downloadfile()
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3