DownloadStringAsync の後に DownloadStringCompletedEventHandler で URL を取得するにはどうすればよいですか?
できるだけ早くたくさんの URL を読み込もうとしています。Web クライアントのセットを使用することを考えていますが、イベント ハンドルで URL を識別する必要があります。返された html コードを処理する唯一の方法です。
DownloadStringAsync の後に DownloadStringCompletedEventHandler で URL を取得するにはどうすればよいですか?
できるだけ早くたくさんの URL を読み込もうとしています。Web クライアントのセットを使用することを考えていますが、イベント ハンドルで URL を識別する必要があります。返された html コードを処理する唯一の方法です。
DownLoadStringAsync を呼び出すときにユーザー状態を追加します。あまりお勧めできないもう 1 つの方法は、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");