一、 软件开发的形式

  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简介及使用的更多相关文章

  1. Web Service 简介

    最近使用ODI的工具箱中的ODIInvokeWebService.因此简单了解下WebService的理论知识. 一.Web Service 简介 Web Service就是可编程的URL,使用标准的 ...

  2. SAP Web Service简介与配置方法

    [版权声明]本文为博主原创文章,转载请在明显位置注明出处. 一. SAP Web Service简介 二. SAP Web Service配置准备工作 1. 通过RZ10配置服务器名称和其他参数 2. ...

  3. Web Service简介与开发实例

    简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的 ...

  4. Web Service简介 内部资料 请勿转载 谢谢合作

    1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求, ...

  5. 使用Web Service进行网络编程-----Web Service简介

    Android应用通常都是运行在手机平台上,手机系统的硬件资源是有限的,不管是存储能力还是计算能力都是有限的,在Android系统上开发.运行一些单用户.小型应用是可能的,但对于需要进行大量的数据处理 ...

  6. Web Service简介(一)

    这篇博文,我们对Web Service进行一个简单的介绍和认识,作为Web Service的入门.在学习之前,你需要对HTML和XML有基本的了解,Web Service并不难,而且非常的简单. 什么 ...

  7. Web Service简介

    1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求, ...

  8. Web service简介 与servletContext的参数

    Web service顾名思义是基于web的服务,它是一种跨平台,跨语言的服务. 我们可以这样理解它,比如说我们可以调用互联网上查询天气信息的web服务,把它嵌入到我们的B/S程序中,当用户从我们的网 ...

  9. (转)Web Service入门简介(一个简单的WebService示例)

    Web Service入门简介 一.Web Service简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从I ...

随机推荐

  1. 【独家】React Native 版本升级指南

    前言 React Native 作为一款跨端框架,有一个最让人头疼的问题,那就是版本更新.尤其是遇到大版本更新,JavaScript.iOS 和 Android 三端的配置构建文件都有非常大的变动,有 ...

  2. 重写简易的confirm函数

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. 细说强网杯Web辅助

    本文首发于“合天智汇”公众号 作者:Ch3ng 这里就借由强网杯的一道题目“Web辅助”,来讲讲从构造POP链,字符串逃逸到最后获取flag的过程 题目源码 index.php 获取我们传入的user ...

  4. Java面试题(反射篇+对象拷贝篇)

    反射 57.什么是反射? 反射主要是指程序可以访问.检测和修改它本身状态或行为的一种能力 Java反射: 在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否 ...

  5. 2020.08.14小bug

    页面下面的滚动条怎么清除 css overflow-x: hidden;

  6. 02.RDB持久化配置与工作流程

    一.如何配置RDB持久化机制 配置文件redis.conf save 60 1000 表示每隔60s,检查如果有超过1000个key发生了变更,那么就生成一个新的dump.rdb文件,就是当前redi ...

  7. laravel核心Ioc容器

    laravel容器和依赖注入 啥是Ioc容器,方便我们实现依赖注入的一种实现,也就是说依赖注入不一定需要控制反转容器,只不过使用容器可能会方便些. laravel通过向容器中绑定接口的具体实现,可实现 ...

  8. Android开发之Eclipse与Android Studio的java类 作者版权模板

    /** * 作者:${USER} on ${DATE} ${HOUR}:${MINUTE} * * 联系QQ:986945193 * * 微博:http://weibo.com/mcxiaobing ...

  9. markdown 语法总结(一)

    1.标题 代码 注:# 后面保持空格 # h1 ## h2 ### h3 #### h4 ##### h5 ###### h6 ####### h7 // 错误代码 ######## h8 // 错误 ...

  10. 遇到doxygen生成的chm文档目录如果有中文是乱码?

    原因不在于doxygen,它没有问题,问题出在微软的HTML Help Workshop的hhc.exe不支持utf8.所以要解决这个问题,需要做两个额外的步骤: 1.将html/index.hhp中 ...