C# 如何在foreach循环中管理Webclient.Completed事件?

C# 如何在foreach循环中管理Webclient.Completed事件?,c#,wpf,webclient,C#,Wpf,Webclient,我正在使用WPF抓取一个网站,并试图将请求放入列表中每个字符串的URL 现在看来CompletedEvent没有被触发。它只是返回到我列表中下一个字符串的循环在它到达完成的事件后,如何让它返回到循环? private void getAdress(double latitude, double longitude) { foreach (string classe in stringList) { WebClient searchClient= new WebClie

我正在使用WPF抓取一个网站,并试图将请求放入列表中每个字符串的URL

现在看来CompletedEvent没有被触发。它只是返回到我列表中下一个字符串的循环在它到达完成的事件后,如何让它返回到循环?

private void getAdress(double latitude, double longitude)
{
   foreach (string classe in stringList)
   {
        WebClient searchClient= new WebClient();
        searchClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(searchClient_DownloadStringCompleted);
        searchClient.DownloadStringAsync(new Uri("http://www.theURL.com"));  
    }
}
亲切问候,, Niels

您正在异步下载。异步的全部要点是,您告诉请求开始,以及在请求完成时希望发生什么。。。然后你继续前进


如果您想等到第一个请求完成后再启动第二个请求,您应该使用同步调用-但不要在UI线程中这样做…

我理解,但当我将其更改为“DownloadString(新Uri…”在已完成的事件中,断点或MessageBox仍未触发…我做错了什么?@Niels:我不知道在使用同步调用时是否触发了事件-在这种情况下,您应该使用方法调用的结果。