异步事件

liqing1991 2012-08-04 10:25:30
怎么让其先执行异步事件再执行retrun

[WebMethod ]
public string get(string cityName)
{
//获取目标城市的经纬度
string str1 = HttpUtility.UrlEncode(cityName);//更改目的地的数据类型
string str = "http://api.map.baidu.com/geocoder?address=" + str1 + "&key=e99d1a1c866d781a85a0c42799a3182c";//查询目的地经纬度url
WebClient wc = new WebClient();//用WebClient来下载网上的内容,可以是图片或者文档
wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_DownloadStringCompleted);//异步事件开始下载
wc.DownloadStringAsync(new Uri(str));
return longtude1 + langtide1;
}

void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{

string str5 = e.Result; //返回网页的XML内容字符串类型
XElement xelement = XElement.Parse(str5);//根据返回的字符串类型加载成XML元素
foreach (XElement item in xelement.Descendants())
{
if (item.Name == "lng")
{
longtude1 = item.Value;//经度
}
if (item.Name == "lat")
{
langtide1 = item.Value;//纬度
}
}
}
...全文
174 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
flarejune 2012-09-12
  • 打赏
  • 举报
回复
使用WaitHandler
  • 打赏
  • 举报
回复
把返回值移动到异步方法中,效果一样不?

1,979

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 其他语言讨论
社区管理员
  • 其他语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧