public void tryDownFile(string imageUrl, string savePath, string fileName, ManualResetEvent mre) { DownLoadThread DLThread = new DownLoadThread(); ThreadMethodHelper argu = new ThreadMethodHelper() { url = imageUrl, savePath = savePath, fileName = fileName, mre = mre }; ThreadPool.QueueUserWorkItem(new WaitCallback(DLThread.DownLoadImage), argu); }
public void DownLoadImage(object argu) { ThreadMethodHelper helper = (ThreadMethodHelper)argu; try { Console.WriteLine("DownLoad begin——" + helper.fileName); WebClient mywebclient = new WebClient(); mywebclient.DownloadFile(helper.url, helper.savePath + @"\" + helper.fileName); Console.WriteLine("DownLoad Success——" + helper.fileName); } catch (Exception e) { e.ToString(); //请求过多一旦出现短时间内无法继续下载,直接退出 Console.WriteLine("Error,Too Many Request——" + helper.fileName); return; } finally { helper.mre.Set(); } return; }