2011-05-27 52 views
0

我每隔5分钟使用Web客户端下载数据,但有时会显示并发错误。WebClient问题

   TimerCallback call = down; 
       temp = new Timer(call); 
       temp.Change(1000, System.Threading.Timeout.Infinite); 

       public void down(object obj) 
    { 
     if(webflag == true) 
     webClient.DownloadStringAsync(new Uri(url)); 

     webflag = false; 
    } 

    private void FeedsDownloaded(object sender, DownloadStringCompletedEventArgs e) 

    { 

     if (e.Error == null) 
     { 
      // some processing 
     } 

      webflag = true; 
      temp.Change(5000, System.Threading.Timeout.Infinite); 

    } 

我是初学者,所以上面的代码看起来很乱。感谢指导,谢谢!

+1

你可以发布你得到的异常的详细信息吗(完整的堆栈跟踪请)? – 2011-05-27 20:14:44

回答

0

谢谢德鲁马什,解决方案是使用webClient.isbusy标志。

if(webClient.isbusy == false) 
    webClient.DownloadStringAsync(new Uri(url));