>백엔드 개발 >C++ >WebClient.DownloadFile()에 대한 시간 초과를 어떻게 설정할 수 있습니까?

WebClient.DownloadFile()에 대한 시간 초과를 어떻게 설정할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-11 17:46:45592검색

How Can I Set a Timeout for WebClient.DownloadFile()?

WebClient.DownloadFile()을 사용하여 시간 초과 관리

WebClient.DownloadFile() 방법을 사용하면 다운로드 대기 시간이 길어질 수 있습니다. 이를 방지하려면 시간 초과 메커니즘을 구현하는 것이 중요합니다. 이렇게 하면 다운로드가 무기한 중단되는 일이 발생하지 않습니다.

해결책에는 시간 초과 속성을 관리하기 위해 WebRequest를 확장하는 사용자 정의 클래스를 만드는 것이 포함됩니다. 방법은 다음과 같습니다.

<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>

WebDownload 클래스는 표준 WebClient과 유사하게 작동하지만 구성 가능한 Timeout 속성을 ​​추가합니다.

이 접근 방식은 WebClient.DownloadFile()을 사용하여 다운로드 시간 초과를 제어하여 과도한 지연을 방지합니다.

위 내용은 WebClient.DownloadFile()에 대한 시간 초과를 어떻게 설정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.