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 ...
随机推荐
- jQuery 事件操作
入口函数 使用$(document).ready(()=>{})作为jQuery入口函数,与window.onload(()=>{})类似,但它不会等待图片等外部资源的加载完毕,而是在HT ...
- 小程序 使用Promise封装request 接口请求
//httpService.jsconst host = 'https://baidu.com/ceshi' // 接口请求的域名 // get请求使用 json对象转字符串 (formatParam ...
- 企业站如何做长尾关键词seo优化
http://www.wocaoseo.com/thread-315-1-1.html 很多企业站,优化到一定程度后网站的流量很快就上去了,但是之后网站就无法更进一步.那么对于普通中小型企业站 ...
- seo增加外链的方法
http://www.wocaoseo.com/thread-128-1-1.html 今天给大家介绍一下本人发外链的一点经验吧.好多新手都感觉,发个外链真的好难哦.其实之前我也是这样认为的,发外链好 ...
- 不同SEO对长尾关键词的不同做法
http://www.wocaoseo.com/thread-122-1-1.html 长尾关键词指的是除目标关键词能带来搜索流量的关键词称之长尾关键词,它为一般由几个词语或短语组成,而且随 ...
- vue路由守卫+cookie实现页面跳转时验证用户是否登录----(二)设置路由守卫
上一篇我们已经封装好了cookie方法,登录成功之后也可以吧用户信息存到cookie中,接下来需要在router/index.js中引入一下cookie.js文件 然后继续添加以下代码 /* * be ...
- iOS 报错: linker command failed with exit code 1 (use -v to see invocation) 原因
在iOS开发中,很多人会遇到这样的报错 linker command failed with exit code 1 (use -v to see invocation) 可能的原因如下: 1.引用出 ...
- Mono生命周期小实验
今天在写代码的时候,遇到一个初始化顺序问题,于是做了一个实验,下面记录结果: 情景: 1.在 脚本A中实例化 一个预制体,该预制体挂有脚本B 2.在 脚本A中,获取实例化物体 身上的 脚本B,并且设置 ...
- C++STL complex吃书使用指南
说在前面: complex即为复数 使用c++自带的complex类型,首先要有<complex>头文件,还要使用std命名空间 声明方式: complex <T> a: 声 ...
- Linux 基础指令2
管道符| 先执行第一个命令后执行第二个 eg:查看文件中间几行: head -n1 文件名| tail -n2 :先查看文件前n1行,然后在n1行中的后n2行 tail -n1 文件名| head - ...