Menguruskan Tamat Masa dengan WebClient.DownloadFile()
Kaedah WebClient.DownloadFile()
kadangkala boleh menyebabkan menunggu muat turun yang lama. Untuk mengelakkan ini, melaksanakan mekanisme tamat masa adalah penting. Ini memastikan muat turun tidak tergantung selama-lamanya.
Penyelesaian melibatkan pembuatan kelas tersuai melanjutkan WebRequest
untuk mengurus sifat tamat masa. Begini caranya:
<code class="language-csharp">using System; using System.Net; public class WebDownload : WebClient { /// <summary> /// Timeout in milliseconds /// </summary> 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; } }</code>
Kelas WebDownload
berfungsi seperti standard WebClient
, tetapi menambah sifat Timeout
boleh dikonfigurasikan.
Pendekatan ini menyediakan kawalan ke atas tamat masa muat turun menggunakan WebClient.DownloadFile()
, mengelakkan kelewatan yang berlebihan.
Atas ialah kandungan terperinci Bagaimanakah saya boleh menetapkan tamat masa untuk WebClient.DownloadFile()?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!