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服务中的方法,并观察数据
首先添加asmx文件

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

添加一个测试方法

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

点击并输入参数

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

2、发布服务器
在代码开发完成之后,需要发布到服务器上供人使用
首先在“启用或关闭Windows功能”里,把“Internet Information Services”这一项全都选中并更新

选择项目--->发布

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

选择文件夹位置

发布WebService

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

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

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

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

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


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

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

添加默认文档

WebService可以使用

六、 在本地测试调用WebService
创建一个MVC5项目--->添加服务引用

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

添加对应的控制器方法

添加对应的画面

最终效果如下

C# Web Service简介及使用的更多相关文章
- Web Service 简介
最近使用ODI的工具箱中的ODIInvokeWebService.因此简单了解下WebService的理论知识. 一.Web Service 简介 Web Service就是可编程的URL,使用标准的 ...
- SAP Web Service简介与配置方法
[版权声明]本文为博主原创文章,转载请在明显位置注明出处. 一. SAP Web Service简介 二. SAP Web Service配置准备工作 1. 通过RZ10配置服务器名称和其他参数 2. ...
- Web Service简介与开发实例
简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的 ...
- Web Service简介 内部资料 请勿转载 谢谢合作
1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求, ...
- 使用Web Service进行网络编程-----Web Service简介
Android应用通常都是运行在手机平台上,手机系统的硬件资源是有限的,不管是存储能力还是计算能力都是有限的,在Android系统上开发.运行一些单用户.小型应用是可能的,但对于需要进行大量的数据处理 ...
- Web Service简介(一)
这篇博文,我们对Web Service进行一个简单的介绍和认识,作为Web Service的入门.在学习之前,你需要对HTML和XML有基本的了解,Web Service并不难,而且非常的简单. 什么 ...
- Web Service简介
1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求, ...
- Web service简介 与servletContext的参数
Web service顾名思义是基于web的服务,它是一种跨平台,跨语言的服务. 我们可以这样理解它,比如说我们可以调用互联网上查询天气信息的web服务,把它嵌入到我们的B/S程序中,当用户从我们的网 ...
- (转)Web Service入门简介(一个简单的WebService示例)
Web Service入门简介 一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从I ...
随机推荐
- shell脚本同步私人git仓库
前言 分别在个人电脑.个人服务器.码云三个地方建立了数据仓库用于保存自己的各种数据,通过git+shell进行数据同步. 此举不仅可以避免因存储损坏.版本更迭.数据误操作等因素带来的各种麻烦,也能实现 ...
- C语言如何动态分配二维数组
C语言如何动态分配二维数组(转载) 原文链接:https://www.cnblogs.com/0xWitch/p/9314621.html 使用malloc().free()函数进行动态分配,这两个函 ...
- SICP之应用序和正则序
以一个题目来说明 (define (square x) (* x x)) (define (sum-squares x y) (+ (square x) (square y))) (define (f ...
- Nodejs模块:querystring
/** * @description querystring模块 */ const querystring = require('querystring'); const url = 'https:/ ...
- vue 使用 sass 或者 less ( vue-cli 3 )
项目使用 vue-cli 3 在项目中使用 sass npm install sass-loader --save -D cnpm install sass-loader --save -D ...
- 深入了解Redis【二】对象及数据结构综述
引言 Redis中每个键值对都是由对象组成: 键总是一个字符串对象(string) 值可以是字符串对象(string).列表对象(list).哈希对象(hash).集合对象(set).有序集合对象(z ...
- Activiti7 获取资源信息及其查询流程历史信息
获取资源信息 /** * 获取资源信息 * * @throws IOException */ @Test public void getProcessResources() throws IOExce ...
- Fabric1.4 kafka共识的多orderer集群
https://www.cnblogs.com/zhangmingcheng/p/10556469.html#FeedBack https://yq.aliyun.com/articles/63746 ...
- linux 用户、用户组的操作
1.查看linux系统下的所有用户 方式一:grep bash /etc/passwd 方式二:查看etc/passwd文件,其他第三个参数大于500的都是用户自己新增的 vim /etc/passw ...
- C#中部分重点前端设置问题
背景 在工作及学习过程中经常会遇到一些奇怪的需求,这里便会记录我遇到的奇怪需求及解决方法. 内容 一.动态设置页面标题 1.前端设置 JS代码: document.title="这是一个标题 ...