ASP.Net WebServie简单应用之天气预报例子

  使用 Visual Studio.Net来使用WebService是很方便的。下面做了一个小例子,通过一个提供气预报的WebService网址来简单实现天气预报这么一个功能:http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx 。

  在实现这么一个小功能前看一下 WebService的定义

  Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。

  1、提供相关服务的WebService网址

View Code
天气预报Web服务,数据来源于中国气象局

Endpoint  :http://www.webxml.com.cn/WebServices/WeatherWebService.asmx

Disco     :http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?disco

WSDL      :http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl



IP地址来源搜索 WEB 服务(是目前最完整的IP地址数据)

Endpoint  :http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx

Disco     :http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?disco

WSDL      :http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl



随机英文、数字和中文简体字 WEB 服务

Endpoint :http://www.webxml.com.cn/WebServices/RandomFontsWebService.asmx

Disco        :http://www.webxml.com.cn/WebServices/RandomFontsWebService.asmx?disco

WSDL       :http://www.webxml.com.cn/WebServices/RandomFontsWebService.asmx?wsdl



中国邮政编码 <-> 地址信息双向查询/搜索 WEB 服务

Endpoint :http://www.webxml.com.cn/WebServices/ChinaZipSearchWebService.asmx

Disco        :http://www.webxml.com.cn/WebServices/ChinaZipSearchWebService.asmx?disco

WSDL      :http://www.webxml.com.cn/WebServices/ChinaZipSearchWebService.asmx?wsdl



验证码图片 WEB 服务 支持中文、字母、数字 图像和多媒体

Endpoint :http://www.webxml.com.cn/WebServices/ValidateCodeWebService.asmx

Disco          :http://www.webxml.com.cn/WebServices/ValidateCodeWebService.asmx?disco

WSDL       :http://www.webxml.com.cn/WebServices/ValidateCodeWebService.asmx?wsdl



Email 电子邮件地址验证 WEB 服务

Endpoint :http://www.webxml.com.cn/WebServices/ValidateEmailWebService.asmx

Disco        :http://www.webxml.com.cn/WebServices/ValidateEmailWebService.asmx?disco

WSDL      :http://www.webxml.com.cn/WebServices/ValidateEmailWebService.asmx?wsdl



中文简体字 <->繁体字转换 WEB 服务

Endpoint :http://www.webxml.com.cn/WebServices/TraditionalSimplifiedWebService.asmx    

Disco         :http://www.webxml.com.cn/WebServices/TraditionalSimplifiedWebService.asmx?disco

WSDL        :http://www.webxml.com.cn/WebServices/TraditionalSimplifiedWebService.asmx?wsdl



中文 <-> 英文双向翻译 WEB 服务

Endpoint :http://www.webxml.com.cn/WebServices/TranslatorWebService.asmx

Disco        :http://www.webxml.com.cn/WebServices/TranslatorWebService.asmx?disco

WSDL      :http://www.webxml.com.cn/WebServices/TranslatorWebService.asmx?wsdl



火车时刻表 WEB 服务 (第六次提速最新列车时刻表)

Endpoint :http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx

Disco        :http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx?disco

WSDL      :http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx?wsdl



中国股票行情数据 WEB 服务(支持深圳和上海股市的基金、债券和股票)

Endpoint :http://www.webxml.com.cn/WebServices/ChinaStockWebService.asmx

Disco         :http://www.webxml.com.cn/WebServices/ChinaStockWebService.asmx?disco

WSDL      :http://www.webxml.com.cn/WebServices/ChinaStockWebService.asmx?wsdl



即时外汇汇率数据 WEB 服务

Endpoint :http://www.webxml.com.cn/WebServices/ExchangeRateWebService.asmx

Disco        :http://www.webxml.com.cn/WebServices/ExchangeRateWebService.asmx?disco

WSDL      :http://www.webxml.com.cn/WebServices/ExchangeRateWebService.asmx?wsdl



腾讯QQ在线状态 WEB 服务

Endpoint :http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx

Disco         :http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?disco

WSDL       :http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl



中国电视节目预告(电视节目表) WEB 服务

Endpoint :http://www.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx

Disco        :http://www.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?disco

WSDL      :http://www.webxml.com.cn/webservices/ChinaTVprogramWebService.asmx?wsdl



外汇-人民币即时报价 WEB 服务

Endpoint :http://www.webxml.com.cn/WebServices/ForexRmbRateWebService.asmx

Disco        :http://www.webxml.com.cn/WebServices/ForexRmbRateWebService.asmx?disco

WSDL      :http://www.webxml.com.cn/WebServices/ForexRmbRateWebService.asmx?wsdl



中国股票行情分时走势预览缩略图 WEB 服务

Endpoint : http://www.webxml.com.cn/webservices/ChinaStockSmallImageWS.asmx

Disco        : http://www.webxml.com.cn/webservices/ChinaStockSmallImageWS.asmx?disco

WSDL      : http://www.webxml.com.cn/webservices/ChinaStockSmallImageWS.asmx?wsdl



国内飞机航班时刻表 WEB 服务

Endpoint :http://www.webxml.com.cn/webservices/DomesticAirline.asmx

Disco         : http://www.webxml.com.cn/webservices/DomesticAirline.asmx?disco 

WSDL       : http://www.webxml.com.cn/webservices/DomesticAirline.asmx?wsdl



中国开放式基金数据 WEB 服务

Endpoint :http://www.webxml.com.cn/WebServices/ChinaOpenFundWS.asmx

Disco        : http://www.webxml.com.cn/WebServices/ChinaOpenFundWS.asmx?disco

WSDL      :http://www.webxml.com.cn/WebServices/ChinaOpenFundWS.asmx?wsdl



股票行情数据 WEB 服务(支持香港、深圳、上海基金、债券和股票;支持多股票同时查询)

Endpoint :http://www.webxml.com.cn/WebServices/StockInfoWS.asmx

Disco        :http://www.webxml.com.cn/WebServices/StockInfoWS.asmx?disco

WSDL       :http://www.webxml.com.cn/WebServices/StockInfoWS.asmx?wsdl

  

  2、实现过程

  建一个WebServiceDemoASP.NET项目,接着右键添加WEB引用

ASP.Net WebServie简单应用之天气预报例子

 

  新建一个Demo.aspx页面,并接着拉两个DropDownList,查看一下前端的页面代码:

<body>

    <form id="form1" runat="server">

    <div>

        <asp:DropDownList ID="DdlProvice" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropRegionCountry_SelectedIndexChanged">

        </asp:DropDownList>

        &nbsp;<asp:DropDownList ID="ddlCity" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlCity_SelectedIndexChanged">

        </asp:DropDownList>

        <br />

        <br />

        <asp:Literal ID="Literal1" runat="server"></asp:Literal>

    </div>

    </form>

</body>

 

  后端的代码实现:

View Code
using System.Web.UI.WebControls;



namespace WebServiceDemo

{

    public partial class Demo1 : System.Web.UI.Page

    {

        cn.com.webxml.webservice.WeatherWS w = new cn.com.webxml.webservice.WeatherWS();



        protected void Page_Load(object sender, EventArgs e)

        {

            string[] Provinces = w.getRegionProvince();



            foreach (var provice in Provinces)

            {

                string[] item = provice.Split(',');

                string name = item[0];

                string value = item[1];

                DdlProvice.Items.Add(new ListItem(name, value));



            }

        }



        protected void DropRegionCountry_SelectedIndexChanged(object sender, EventArgs e)

        {

            ddlCity.Items.Clear();



            string[] Citys = w.getSupportCityString(DdlProvice.SelectedValue);

            foreach (var city in Citys)

            {

                string[] item = city.Split(',');

                string name = item[0];

                string value = item[1];

                ddlCity.Items.Add(new ListItem(name, value));

            }

        }



        protected void ddlCity_SelectedIndexChanged(object sender, EventArgs e)

        {

            string[] Weathers = w.getWeather(ddlCity.SelectedValue, "");

            string result = "";

            foreach (var item in Weathers)

            {

                result += item + "<br/>";

            }

            Literal1.Text = result;

        }

    }

}

  因为感觉代码比较简单,所以不作解释了。最后效果图:

ASP.Net WebServie简单应用之天气预报例子

你可能感兴趣的:(asp.net)