2011-01-10 1 views
1

のコールバック機能でURLを取得するのは、私がWeb要求を持っているとしましょう:WebRequesting

WebRequest webRequest = WebRequest.Create(Url); 
webRequest.BeginGetResponse(this.RespCallback, webRequest); 

今すぐ

private void RespCallback(IAsyncResult asynchronousResult) 
{ 
    // here 
} 

でURLを取得するにはどのような方法があるとされたアイデアは、私が欲しいですウェブリクエストを行っている間にurlにシーケンスIDを与え、コールバックでそれを検索し、このコールバックがそのリクエストから来たものであることを知るために一致させます。

アイデア?

答えて

0

これは動作するはずです:

private void RespCallback(IAsyncResult asynchronousResult) 
{ 
    WebRequest wreq = asynchronousResult as WebRequest; 
    Uri wreqUri = wreq.RequestUri; 
} 
+0

私は、以下の他の回答で述べたようにあなたは、WebRequestクラスに(というだけでasynchronousResultより)asynchronousResult.AsyncStateをキャストする必要があると考えています。 –

0

WebRequestをBeginXXX calに「状態」として渡すので、RespCallback内のIAsyncResultのAsyncStateプロパティにアクセスしてコールバックで取得できます。あなたのWebRequestのURLを取得します。

var wr = asynchronousResult.AsyncState as WebRequest.