Web Service实现天气预报模块
参考博文 hsapphire csdn csdn 51cto
Web Service技术允许网络上的所有系统进行交互,属于跨平台的应用。随着技术的发展,一个Web服务可以包含额外的指定功能,并且可以在多个B2B应用中写作通信。
Web Service技术其实就是利用SOAP协议在网络中实现远程调用的一种方法。
SOAP简单对象访问协议(Simple Object Access Protocol),是在分散或分散式的环境中交换信息的一种简单协议,是基于XML的协议,其主要包括一下4个部分:
1.SOAP封装:定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理信息以及如何处理信息等的框架。
2.SOAP编码规则:用于表示应用程序需要使用的数据类型的实例。
3.SOAP的RPC表示:表示远程过程调用和应答的协定。
4.SOAP绑定:使用底层协议交换信息。
UDDI(统一描述,发现和集成)是一个Web Service的注册中心,类似于企业在工商局的注册。只要做好了Web服务,并在UDDI中注册,那么这个Web服务就可以被全世界的人使用。UDDI构建于网络传输层和基于SOAP协议的XML消息传输层之上。
WSDL是一种XML格式,用于将网络服务描述为一组端点,这些端点对包含面向文档信息或面向过程信息的消息进行操作。这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络协议和消息格式上以定义端点。相关的具体端点即组合成为抽象端点(服务)。可以对WSDL进行扩展,这样无论通信时使用何种消息格式或网络协议,都可以对端点及其消息进行描述。
Web Service的优点
Web Service的主要应用一般是数据库访问流量大的时候,将数据通过Web服务存在本地,实现数据的快速供应。在Web服务中使用Dataset存储所需要的数据,在项目中引用后,可以直接调用这个Dataset,不需要再连接数据库。其实Web服务是将数据信息以XML形式保存在本地,其优势有以下几点:
1.提供Web服务端,用户可以访问公用Web接口。
2.独立于在应用程序中使用的用户接口类型表示。
3.是对应用程序服务器进行远程处理的方式之一。
4.屏蔽服务端其他层,更安全的提供服务。
hsapphire的方法是在Web Service里用WebMethod方法获取查询后的新浪天气预报整页的html代码,然后从这些html代码里用Indexof和substring方法截取想要的html代码,最后付给一个label,让其将筛选后的html显示出来。但这样做必须要分析新浪天气预报整页的html代码才能筛选,且新浪的天气预报页面代码会经常更改,所以这个方法不好。要注意在获取新浪页面代码时用到的HttpWebRequest和HttpWebResponse在System.Net命名空间内。
右键项目-->添加web引用-->在URL输入网上的web服务的地址(还可以在下面添加此解决方案中的web服务等)-->前往(此时会搜索到该web服务)-->添加引用(引用名可以自定,之后会添加一个Web References文件夹,里面包含了该项目引用的所有web服务)。如下图:
现在就可以在项目中使用该web服务了,大体代码如下图:
进入Web服务的页面,都会有很详细的方法说明,可根据自己的需求对其返回值做不同的操作即可。