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 三剑客之 awk
awk 是shell 里的常用命令,非常强大!
- 区块链入门到实战(35)之Solidity – 变量作用域
局部变量的作用域仅限于定义它们的函数,但是状态变量可以有三种作用域类型. Public – 公共状态变量可以在内部访问,也可以通过消息访问.对于公共状态变量,将生成一个自动getter函数. Inte ...
- 学生成绩管理系统(SSM+MySQL+JSP)
开发工具:Eclipse前端技术:基础:html+css+JavaScript框架:JQuery+H-ui后端技术:Spring+SpringMVC+mybatis模板引擎:JSP数据库:mysql ...
- Autoit 使用
一.Autoit 上传文件. 1.常用语法 - WinActivate("title") 聚焦到指定活动窗口 - ControlFocus ( "titl ...
- 不要再问我 in,exists 走不走索引了
微信搜『烟雨星空』,获取最新好文. 前言 最近,有一个业务需求,给我一份数据 A ,把它在数据库 B 中存在,而又比 A 多出的部分算出来.由于数据比较杂乱,我这里简化模型. 然后就会发现,我去,这不 ...
- go语言之反射
---恢复内容开始--- 一 :并发基础 1 并发和并行 并发和并行是两个不同的概念: 并行意味着程序在任意时刻都是同时运行的: 并发意味着程序在单位时间内是同时运行的 详解: 并行就是在任一粒度的时 ...
- 攻防世界——Misc新手练习区解题总结<3>(9-10题)
第九题SimpleRAR: 下载附件后得到一个压缩包打开后得到如下提示 文件头损坏,让我们打开winhex看一下 7a为子块而文件头为74,这里将7a改为74(这里我也不是很清楚,详细大家可以自行去查 ...
- manualresetevent的用法学习
ManualResetEvent 允许线程通过发信号互相通信. 通常,此通信涉及一个线程在其他线程进行之前必须完成的任务. 当一个线程开始一个活动(此活动必须完成后,其他线程才能开始)时,它调用 Re ...
- [BUUOJ记录] [ACTF2020 新生赛]Upload
简单的上传题,考察绕过前端Js验证,phtml拓展名的应用 打开题目点亮小灯泡后可以看到一个上传点 传一个php测试一下: 发现有文件拓展名检查,F12发现是Js前端验证: 审查元素直接删掉,继续上传 ...
- MySQL教程 | 菜鸟教程
装数据库失败后的重装步骤!!! --[创建数据库]CREATE DATABASE <数据库名>: --使用mysqladamin 创建数据库-- 使用普通用户,你可能需要特定的权限来创建或 ...