0

在 DownloadStringAsync 之后,如何在 DownloadStringCompletedEventHandler 中获取 url?

我正在尝试尽快阅读一堆网址。我正在考虑使用一组 Webclients,但我需要在我的事件句柄中识别 url。我这样做是处理返回的 html 代码的唯一方法。

4

1 回答 1

1

在调用 DownLoadStringAsync 时添加用户状态。另一个不太推荐的方法是反射到 WebClient 中以获取内部字段 m_WebRequest。该对象包含原始 Url,但这在新版本的框架中可能会失败。

    var wc = new WebClient();

    wc.DownloadStringCompleted += (sender, e) => 
    { 
        WebClient compWC = (WebClient) sender;
        string url = e.UserState as string;
        Console.WriteLine(compWC.ResponseHeaders[HttpResponseHeader.Server]);
        Console.WriteLine(url);
    };                

    wc.DownloadStringAsync(new Uri("http://www.google.nl"), "http://www.google.nl");
于 2012-12-29T15:01:17.423 回答