概述
C#添加WebService服务实现天气预报(查询)
这里主要介绍的是C#实现添加有关天气预报的WebService,调用其中相应的WebAPI实现不同地区的天气情况的获取。在这主要有两个部分,一个是介绍C#怎么添加WebService,一个是添加天气的WebService后怎么去调用WebAPI。
添加WebService服务编程接口:
在这我们使用的是:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx。以下是
相关接口:
getSupportCity、getSupportDataSet、getSupportProvince、getWeatherbyCityName、getWeatherbyCityNamePro。可在网站中查看具体的API的功能。那么,怎么添加这个WeatherWebService呢?
首先,右击项目解决方案,选中添加服务引用:
点击,如下:
在地址中输入WeatherWebService的网址,前往,会自动搜索到WeatherWebService服务,自己定义命名空间,确认,实现添加。添加完成效果如下:
然后添加相应的引用就可调用相应的API了。
引用:
using WebService.WeatherWeb;
声明:
WeatherWeb.WeatherWebServiceSoapClient w
= new WeatherWeb.WeatherWebServiceSoapClient("WeatherWebServiceSoap");
获取可查省份:
String[] supportProv = w.getSupportProvince();
foreach (String s in supportProv)
{
Add_City.Items.Add(s);
}
以省份获取该省份的可查城市:
string[] supportCity = w.getSupportCity(Add_City.Text);
Add_City.Items.Clear();
foreach (String s in supportCity)
{
string[] city = s.Split(new Char[] { '(' }, StringSplitOptions.RemoveEmptyEntries);
if (city.Length > 0)
Add_City.Items.Add(city[0]);
}
然后就可查城市的天气情况了:
string[] s = new string[32];
s =w.getWeatherbyCityName(city);
注:但是大家按照上面的方式去实现的时候,执行到 s =w.getWeatherbyCityName(city);的时候偶尔会出现:服务器无法处理。--->未将对象引用设置到对象的实例。
解决方案:添加WeatherWebService的方式错误。需要以以下的方式去添加web服务:
首先:
在高级中选中添加Web引用,然后会出现:
按照图中操作,添加引用,会发现添加的是以下的web服务:
这个时候,定义类的方法需要改变成:
WeatherWeb.WeatherWebService w = new WeatherWebService();
源码资源:http://download.csdn.net/detail/laozhuxinlu/9523406
最后
以上就是寂寞老鼠为你收集整理的C#添加WebService服务实现天气预报(查询)的全部内容,希望文章能够帮你解决C#添加WebService服务实现天气预报(查询)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复