SKY In solitude, where we are least alone

C# Web Service简介及使用

一、 软件开发的形式

1、SaaS:Software as a Service(软件即服务)

(1)将软件视为一种基础设施与服务

(2)网络无所不在,网络可以看成是一个软件服务的聚合体,是一个超级大“HUB”。

(3)开发软件就是“聚合服务”:大服务套小服务,这一服务调用另一服务,基于互联网协同实现软件功能。

(4)高度分布式和跨平台

2、SOA:Service Oriented Architecture(面向服务的架构)

(1)以服务作为软件的基本构造块来“组装”软件

(2)Web Service是当前最成熟的一种SOA技术。它将网站的功能封装为可复用的软件服务,供其他Web应用程序调用。

 

二、 WebService简介

WebService技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可以相互交换数据或集成。依据WebService 规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么,都可以相互交换数据。

简单的说,WebService就是一种跨编程语言和跨操作系统平台的远程调用技术。所谓跨编程语言和跨操作平台,就是说服务端程序采用java编写,客户端程序则可以采用其他编程语言编写,反之亦然。跨操作系统平台则是指服务端程序和客户端程序可以在不同的操作系统上运行。远程调用,就是一台计算机的应用可以调用其他计算机上的应用。例如:支付宝,支付宝并没有银行卡等数据,它只是去调用银行提供的接口来获得数据。还有天气预报等,也是气象局把自己的系统服务以WebService服务的形式暴露出来,让第三方网站和程序可以调用这些服务功能。

 

三、WebService特点

优点:

1、Web Service可看成是一个可复用的Web应用程序组件

2、Web Service与平台无关,发布后可以被不同平台调用

3、Web Service是自说明,使用XML格式的纯文本来描述自己如何使用

缺点:

1、服务端接口方为WebService则客户端也必须使用WebService。

2、因为WebService使用xml传输数据,因此性能上不能满足高并发

3、有点笨重

 

四、WebService组成要素

1、UDDI:查找方法,Web Service在哪里

UDDI(Universal Description,Discovery and Integration)统一描述、发现和集成。它是一种用于查找Web Service的机制。

UDDI服务器存储了Web Service相关信息(其实就是此Web Service的WSDL文档)可供Web应用程序来定位和引用Web Service。

2、SOAP:通信协议,按照什么标准交换数据

SOAP(Simple Object Access Protocol)是Web Service的传输协议。它规定Web Service 提供者和调用者之间信息的编码和传送方式。

SOAP协议是建立在HTTP协议之上的互联网应用层协议(使用80端口),因此,它允许信息穿过防火墙而不被拦截。

SOAP仅是一种约定,是平台中立与语言无关

SOAP与WSDL一样,也是建立在XML规范之上,比较简单

3、WSDL:描述文档

WSDL(Web Service Description Language,Web服务描述语言):用于描述Web Service的一种XML格式的语言,说明服务端接口、方法、参数和返回值,通知其他的Web应用程序如何调用自己,WSDL是随服务发布成功,自动生成,无需编写。

4、WebService是如何运行的?

Web Service驻留于Web Server中

使用UDDI机制查找符合要求的Web Service

网络中的机器通过SOAP协议进行通讯

 

五、编写并使用自定义WebService

1、创建WebService工程

(1)创建一个空的Web项目,并添加后台模块

(2)添加Web服务:添加asmx文件,并编写web服务方法

(3)运行服务项目,要注意地址需要自己补全

(4)测试web服务中的方法,并观察数据

首先创建一个空的Web项目

添加asmx文件

 

添加成功后,可以启动项目看一看(要加上地址)

选择HelloWorld并调用

Hello World以xml的形式展现,调用成功

 

自己添加一个web服务方法,数据库随便用一个即可

运行看一下效果,能在WebService看到GetBooksByAuthor()这个方法

 

点击并输入参数

 

可以查看到数据以xml的格式展示

 

 2、发布于服务器上

在代码开发完成之后,需要发布到服务器上供人使用

首先在“启用或关闭Windows功能”里,把“Internet Information Services”这一项全都选中并更新

 

选择项目--->发布

 

选择文件夹--->下一步

 

选择文件夹位置

发布WebService

 

发布成功后, 在发布的物理地址中,会有这几个文件

 

打开IIS管理器,右击网站--->新建网站

 

配置新网站相关内容,IP地址可自己选择,主机名需要相应的域名

 

在新建好的网站上添加权限

 

添加两个用户名IIS_IUSRS、NETWORK_SERVICE,并添加全部权限

 

重启网站,浏览一下,404报错

 

需要配置一下默认文档,选择网站--->默认文档

 

添加默认文档

 

WebService可以使用

   

 

六、 在本地测试调用WebService

创建一个MVC5项目--->添加服务引用

输入本地的WebService网址,可以发现找到对应的服务

 

添加对应的控制器方法

添加对应的画面

最终效果如下

 

 

posted @ 2020-09-29 10:05  gozzl  阅读(2559)  评论(3编辑  收藏  举报