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 ...
随机推荐
- Java算法——递归思想
描述递归(recursion):程序调用自身的编程技巧. 递归满足2个条件:1)有反复执行的过程(调用自身)2)有跳出反复执行过程的条件(递归出口) 递归与栈的关系下面演示的是求n的阶乘 int Fa ...
- Java动态代理(二)——jdk动态代理
一.什么是动态代理?代理类在程序运行时创建的代理方式被成为动态代理.动态代理的代理类并不是在Java代码中定义的,而是在运行时根据我们在Java代码中的“指示”动态生成的.相比于静态代理, 动态代理的 ...
- Markdown - Typora 10分钟入门 - 精简归纳
Markdown - Typora 10分钟入门 - 精简归纳 JERRY_Z. ~ 2020 / 8 / 22 转载请注明出处! 目录 Markdown - Typora 10分钟入门 - 精简归纳 ...
- MyEclipse2017 安装MAVEN插件办法
笔者辛苦所写,如要留用,请标明出处,谢谢 —————————————————————————————————————————————————————— 笔者由于用到的项目使用到MAVEN,为了以后搭建 ...
- FileZilla Server FTP服务器失败
使用Filezilla Server配置FTP服务器https://blog.csdn.net/chuyouyinghe/article/details/78998527 FileZilla Serv ...
- 记录laravelchina中的微信小程序教程的第四节的安装easy WeChat扩展的报错
composer require "overtrue/laravel-wechat:~5.0 PHP Fatal error: Allowed memory size of 16106127 ...
- Nodejs模块:querystring
/** * @description querystring模块 */ const querystring = require('querystring'); const url = 'https:/ ...
- 前端修仙之路---一、如何用gulp搭建一套web前端开发框架
引言 相信从事web前端开发的朋友都知道,现在流行的Vue.AngularJS等框架中,它们都有独立的脚手架来创建项目,比如Vue有vue-cli,Angular有angula-cli.脚手架可以一键 ...
- 为什么建议软件测试自学而不推荐去IT培训机构?浅谈IT培训机构存在的意义
原文地址:https://www.jianshu.com/p/447c65654e84 哥们别太天真啦,知乎上那些到处以大神自居,说培训机构各种神坑不靠谱的,绝对是无利不起早的,很多都是借着贬低别人来 ...
- 移动开发中如何整合HTML 5和原生代码
移动开发中如何整合HTML 5和原生代码 https://blog.csdn.net/lvjin110/article/details/41038565