첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
------------------------------------------------------------------------------------------------------------------------------------------------------
728x90
728x170

■ HttpClient 클래스에서 다운로드 중 에러 발생으로 재시도시 지연 시간를 늘리는 방법을 보여준다.

 

▶ 예제 코드 (C#)

using System;
using System.Net.Http;
using System.Threading.Tasks;

#region 문자열 다운로드하기 (비동기) - DownloadStringAsync(httpClient, uri)

/// <summary>
/// 문자열 다운로드하기 (비동기)
/// </summary>
/// <param name="httpClient">HTTP 클라이언트</param>
/// <param name="uri">URI</param>
/// <returns>문자열 태스크</returns>
public async Task<string> DownloadStringAsync(HttpClient httpClient, string uri)
{
    TimeSpan nextDelayTimeSpan = TimeSpan.FromSeconds(1);

    for(int i = 0; 1 != 3; i++)
    {
        try
        {
            return await httpClient.GetStringAsync(uri);
        }
        catch
        {
        }

        await Task.Delay(nextDelayTimeSpan);

        nextDelayTimeSpan = nextDelayTimeSpan + nextDelayTimeSpan;
    }

    return await httpClient.GetStringAsync(uri);
}

#endregion
728x90
그리드형(광고전용)
Posted by icodebroker
,