- C# code
public void SaveUrlPics(string url, string path, Random ran) { WebClient wc = new WebClient(); string address = path + "\\" + CreateRandomCode(8) + GetSuffix(path); try {//在这里我想把当前线程等待 wc.DownloadFile(url, address); wc.DownloadFileCompleted += new System.ComponentModel.AsyncCompletedEventHandler(wc_DownloadFileCompleted); } catch (Exception ex) { ListUrl.writeLog(ex.Message); } finally { wc.Dispose(); } } void wc_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e) { //下载完成后,放走线程。 }
我希望下载图片是完整的。如果我没有下载完,当前线程就要等待我WebClient 下载完才能走。
现在我有点矛盾,本来就是同一个线程,我应该怎么等待,怎么放走???因为lock是防止多线程同步的!!!但是现在。。。。。。好头晕!!!
------解决方案--------------------------------------------------------
既然是下载完了再走,为什么要用线程?反正是ASP.NET的又不需要说需要刷新前台页面??
另外,我还真不知道在 ASP.NET中自己的多线程还能否工作。
------解决方案--------------------------------------------------------
up
------解决方案--------------------------------------------------------
asp.net 是可以多线程,不过好像用在这里意义不大吧,
不知道LZ想实现的是不是下载后检测一下图片的大小,看是否下载完了.
------解决方案--------------------------------------------------------
关注
------解决方案--------------------------------------------------------
能否如操作系统一样开若干个P,V进程。