小编arm*_*han的帖子

等待循环中的异步方法完成

我有一个C#程序,它当前同步从几个站点下载数据,之后代码对我下载的数据进行了一些处理.我试图移动它以异步方式进行下载,然后处理我下载的数据.我在测序方面遇到了一些麻烦.下面是我正在使用的代码的快照:

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Started URL downloader");
        UrlDownloader d = new UrlDownloader();
        d.Process();
        Console.WriteLine("Finished URL downloader");

        Console.ReadLine();
    }
}

class UrlDownloader
{
    public void Process()
    {
        List<string> urls = new List<string>() { 
            "http://www.stackoverflow.com", 
            "http://www.microsoft.com", 
            "http://www.apple.com", 
            "http://www.google.com" 
        };

        foreach (var url in urls)
        {
            WebClient Wc = new WebClient();
            Wc.OpenReadCompleted += new OpenReadCompletedEventHandler(DownloadDataAsync);
            Uri varUri = new Uri(url);
            Wc.OpenReadAsync(varUri, url);
        }
    }

    void DownloadDataAsync(object sender, OpenReadCompletedEventArgs e)
    {
        StreamReader k = new StreamReader(e.Result);
        string temp = …
Run Code Online (Sandbox Code Playgroud)

c# asynchronous

1
推荐指数
1
解决办法
3381
查看次数

标签 统计

asynchronous ×1

c# ×1