private static void FinishDownload(DotNetUrlDownloader.DownloadState state) { if (!state.downloadResult.succeeded && state.numRetriesLeft > 0) { state.numRetriesLeft--; DotNetUrlDownloader.Download(state); return; } List <DotNetUrlDownloader.DownloadResult> completedDownloads = state.downloader.m_completedDownloads; lock (completedDownloads) { state.downloader.m_completedDownloads.Add(state.downloadResult); } }
public void Download(string url, UrlDownloadCompletedCallback cb, UrlDownloaderConfig config) { WebRequest request = WebRequest.Create(url); DotNetUrlDownloader.DownloadResult downloadResult = new DotNetUrlDownloader.DownloadResult(); downloadResult.callback = cb; DotNetUrlDownloader.Download(new DotNetUrlDownloader.DownloadState { downloader = this, host = url, downloadResult = downloadResult, request = request, numRetriesLeft = config.numRetries, timeoutMs = config.timeoutMs }); }