2011-01-10 1 views
1

Скажем, у меня есть веб-запрос:Получение Url в функции обратного вызова из WebRequesting

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

Теперь это, есть ли способ, чтобы получить URL в

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

Идея заключается в том, я хочу чтобы предоставить идентификатор последовательности в URL-адресе, выполняя веб-запрос, а затем извлекать его на обратном вызове и сопоставлять его с тем, чтобы знать, что этот обратный вызов из этого запроса.

Любые идеи?

ответ

0

Это должно работать:

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

Я считаю, что вам нужно, чтобы бросить asynchronousResult.AsyncState (а не только asynchronousResult) в WebRequest, как уже упоминалось в другой ответ ниже. –

0

Поскольку вы передаете WebRequest как «состояние» в calin BeginXXX, вы можете получить его в обратном вызове, воспользовавшись свойством AsyncState IAsyncResult внутри RespCallback. Получите Url вашего WebRequest.

var wr = asynchronousResult.AsyncState as WebRequest. 
Смежные вопросы