Gestion des délais d'attente avec WebClient.DownloadFile()
La méthode WebClient.DownloadFile()
peut parfois entraîner de longues attentes de téléchargement. Pour éviter cela, la mise en œuvre d’un mécanisme de délai d’attente est cruciale. Cela garantit que les téléchargements ne se bloquent pas indéfiniment.
Une solution consiste à créer une classe personnalisée s'étendant WebRequest
pour gérer la propriété timeout. Voici comment :
<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>
La classe WebDownload
fonctionne comme la classe WebClient
standard, mais ajoute une propriété Timeout
configurable.
Cette approche permet de contrôler les délais d'attente de téléchargement à l'aide de WebClient.DownloadFile()
, évitant ainsi les retards excessifs.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!