Получение URL в функции обратного вызова WebRequesting - PullRequest
1 голос
/ 11 января 2011

Допустим, у меня есть веб-запрос:

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

Теперь есть способ получить URL-адрес в

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

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

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 11 января 2011

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

private void RespCallback(IAsyncResult asynchronousResult)
{ 
    WebRequest wreq = asynchronousResult as WebRequest;
    Uri wreqUri = wreq.RequestUri;
}
0 голосов
/ 11 января 2011

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

var wr = asynchronousResult.AsyncState as WebRequest.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...