public Form1() { _webClient = new CustomWebClient(); InitializeComponent(); _lblFilename.Text = string.Empty; }
public static async Task DownloadFileAsync(this CustomWebClient webClient, string uri, string filename, IProgress <ProgressReport> progress, CancellationToken token) { if (webClient == null) { throw new ArgumentNullException(nameof(webClient)); } if (filename == null) { throw new ArgumentNullException(nameof(filename)); } using (var fileStream = new FileStream(filename, FileMode.CreateNew, FileAccess.Write, FileShare.None)) { await webClient .DownloadDataAsync(uri, fileStream, progress, token) .ConfigureAwait(continueOnCapturedContext: false); } }