当前位置:编程学习 > C#/ASP.NET >>

异步事件

 怎么让其先执行异步事件再执行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;//纬度
            }
        }
    } --------------------编程问答-------------------- public string get(string cityName)改为无返回值,把返回值改到下一个方法中
void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)改为有返回值 --------------------编程问答-------------------- 用httprequest 吧。

WebClient 有时候用起来很不方便。
补充:.NET技术 ,  其他语言
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,