Windows phone 7 是否从System.Net.WebClient的响应中获取请求的URL?

Windows phone 7 是否从System.Net.WebClient的响应中获取请求的URL?,windows-phone-7,webclient,Windows Phone 7,Webclient,我正在使用System.Net.WebClient从URL检索一些数据 void GetAirportData() { var url = "http://server.example.com/airports.xml?id=OSL"; var webClient = new WebClient(); webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted

我正在使用System.Net.WebClient从URL检索一些数据

void GetAirportData()
{
  var url = "http://server.example.com/airports.xml?id=OSL";
  var webClient = new WebClient();
  webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);
  webClient.OpenReadAsync(new Uri(url, UriKind.Absolute));
}

void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
   //How can I see the original URL here, so that I can see which id parameter was passed?
}
我发送的请求将包含一个URL,其中包含一些参数,这些参数在每次调用时都会更改,我需要知道在响应返回时我请求了哪个参数


例如,我可以使用sender对象的.UserState属性吗?

如果需要URL,我会将您的代码更改为如下内容:

void GetAirportData()
{
  var url = new Uri("http://server.example.com/airports.xml?id=OSL", UriKind.Absolute);
  var webClient = new WebClient();
  webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);
  webClient.OpenReadAsync(url, url);
}

void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
   // Gets the original url passed.
   var url = e.UserState as Uri;
}

如果需要URL,我会将您的代码更改为:

void GetAirportData()
{
  var url = new Uri("http://server.example.com/airports.xml?id=OSL", UriKind.Absolute);
  var webClient = new WebClient();
  webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);
  webClient.OpenReadAsync(url, url);
}

void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
   // Gets the original url passed.
   var url = e.UserState as Uri;
}