博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Windows Phone开发(47):轻松调用Web Service
阅读量:7034 次
发布时间:2019-06-28

本文共 2221 字,大约阅读时间需要 7 分钟。

原文:

众所周知(除了没用过VS的),在VS里面调用Web Service是一件很愉快的事情,不解释,相信很多朋友在以前的项目中肯定也用过WEB服务。同样,在WP中调用Web Service也是非常简单的,你可以不信,反正我绝对信了。

 

有例子有真相,我们就以

为例,这个Web服务可以根据IP地址查询相关的地区/城市信息,我们就通过调用这WEB服务,来比较一下,在WP项目调用Web Service与我们以前做过的其它类型到底有没有区别。

 

1、启动VS,新建一个WP应用程序项目(此处省略46个字)。

2、页面布局就参考下面XAML吧。

3、打开“解决方案资源管理器”,右击“引用”节点,从弹出的菜单中选择“添加服务引用”。

4、在弹出的对话框中,“地址”处输入上文中提到的Web服务的地址,并点击“前往”按钮,待发现WEB服务完成后,在“命名空间”处输入一个有效命名空间名字,随你喜欢。最后别忘了单击“确定”。

 

5、切换到后台代码,完成查询按钮的单击事件处理。

private void onQuery(object sender, RoutedEventArgs e)        {            // 第一步,实例化客户端代理类            IPQueryWebService.IpAddressSearchWebServiceSoapClient MyClient = new IPQueryWebService.IpAddressSearchWebServiceSoapClient();            // 第二步,绑定回调事件            MyClient.getCountryCityByIpCompleted += (s, arg) =>                {                    // 取得结果                    txbTip.Text = "请求完成。";                    if (arg.Error != null)                    {                        txtIP.Text = string.Format("错误:{0}", arg.Error.Message);                        return;                    }                    string[] res = arg.Result;                    if (res != null)                    {                        if (res.Length > 1)                        {                            txbResult.Text = string.Format("查询结果:{0}", res[1]);                        }                    }                };            // 第三步,调用异步方法            txbTip.Text = "正在请求,请等候……";            MyClient.getCountryCityByIpAsync(txtIP.Text);        }

 

好了,完成,记住WEB服务一般是异步调用,所以要在回调事件处理中取得调用结果。

运行一下,看看结果吧。

 

OK,就到这里吧。

 

转载地址:http://ggual.baihongyu.com/

你可能感兴趣的文章