WCF入门的了解准备工作
了解WCF, 及WCF入门需要掌握哪里基本概念?
1.准备工作
>1.1 . XML
>1.2 . Web Service
>1.3 . 远程处理 (RPC)
>1.4. 消息队列(MSMQ)
>1.5. 面向服务的体系结构(SOA)
——————————————————————————————————————————————————————————————
1.1 XML
因为以及有太多的先人指点, 关于XML的文章也是无数, 需要掌握XML的基本的一些概念: 可以访问 http://www.w3school.com.cn/
这里就简单的说明一下关于XML的一些基础的概念。
【XML(Extensible Markup Language,可扩展的标记语言)】
是一套用文本来定义语义标记的元标记语言,具有与平台无关、可灵活的定义数据和结构信息、便于网络传递等优势。
XML特点 XML是文本编码,因此不受所选用的操作系统、对象模型和编程语言的影响,可在任何网络中正常传输。
XML中的所有标记都是自定义的,通过这些自定义的标记,可描述某种数据的不同部
分及其嵌套的层次结构。XML规定所有标记都必须有开始和结束标志。
引用W3C的一个简单的示例, 可以简单的了解XML的基础结构(如下图)

1.2 Web Service
Web Service也叫Web服务,根据数据交换格式的不同,Web Service又进一步分为XML Web Service和JSON Web Service等。
XML Web Service是一种以XML作为数据交换格式。
以JSON作为数据交换格式的Web服务称为JSON Web Service。
在Web Service的服务体系结构, 是由3个组成部分, 分别是:
1. 服务提供者
2. 服务请求者
3. 服务注册中心
利用发布、发现、绑定的三个基本操作组成。
客户端与Web服务如何通信
1.客户端调用的web服务, 主要的过程:
(1) 客户端创建web服务的代理类的实例。
(2)通过调用代理类的具体的实现方法。
(3)客户端程序将服务所需要的参数序列化为SOAP消息, 然后通过网络发送到web服务器中。
(4)web服务器接受到SOAP消息 , 此时, 将消息反序列为XML格式, 同时创建web服务的实例, 调用Web服务提供的具体方法,
将反序列化的XML作为参数传递到方法中。
(5)执行web服务提供的具体方法, 得到相应的返回值和一些消息参数。
(6)web服务器将返回值和一些消息参数序列化为SOAP消息, 然后通过网络返回到客户端的程序中。
(7)客户端接受到web服务器返回的SOAP消息, 将XML 反序列为返回值和消息参数, 传输到代理类的实例里。
(8)客户端应用接受到返回值和消息参数。
2.客户端程序与Web服务通信过程
下面的图 让大家秒懂 "挖布涩维斯" 与 客户机应用程序 的通信过程 。

1.3 远程处理RPC
RPC(Remote Procedure Call) —— 远程过程调用。
远程处理技术是为了解决不同计算机上的进程相互访问的一种具体实现。.NET远程处理模型生成一个应用程序,
并让其中两个组件直接跨应用程序域边界进行通信。此时需要生成以下内容:
> 一个可远程处理的对象。
>一个宿主应用程序域,用于侦听针对该对象的请求。
> 一个客户端应用程序域,用于发出针对该对象的请求。
神奇的的跳转链接 : 关于RPC的更详细的说明 ,http://www.cnblogs.com/fqfanqi/p/6140877.html
1.4 消息队列(MSMQ)
MQ(Message Queue)是在多个不同的应用程序之间实现相互通信的一种基于队列和事务处理的异步传输模式。
其实现原理是:
消息发送者把要发送的信息放入一个容器中(称为Message),
然后把它保存至一个系统公用的消息队列(Message Queue)中;
本地或者是异地的消息接收程序再从该队列中取出发给它的消息进行处理。
MSMQ是微软实现的MQ。
引文 : http://www.cnblogs.com/Leo_wl/p/4021039.html
1.5 面向服务的体系结构(SOA)
SOA(Service-Oriented Architecture,面向服务的体系结构)。
其基本思想就是希望用一种统一的、以"服务"为中心的模型来整合各种不同的技术,而不是仅仅限于Web服务。
对于.NET开发人员来说,这个基于SOA的具体实现就是WCF, 而关于整篇所讲的内容, 都是对于我们了解及使用
WCF有铺垫性的作用。
WCF入门的了解准备工作的更多相关文章
- 学习WCF入门的第一个实例
一.概述 WCF说白了就是一个基于终结点的通信手段!就是Service端提供一定的功能实现,然后暴露出一个或多个终结点,Client端调用Service端的功能(可以理解为调用一个函数),那么Clie ...
- WCF入门教程(五)配置文件
WCF入门教程(五)配置文件 服务协定以及实现写好后,需要将相关服务公布出去,就需要HOST来承载,供客户端来调用. 承载服务有两种方式,一种通过配置文件,一种通过代码进行配置.上一章已经介绍了代码方 ...
- WCF入门教程(四)通过Host代码方式来承载服务
WCF入门教程(四)通过Host代码方式来承载服务 之前已经讲过WCF对外发布服务的具体方式. WCF入门教程(一)简介 Host承载,可以是web,也可以是控制台程序等等.比WebService有更 ...
- WCF入门教程(三)定义服务协定--属性标签
WCF入门教程(三)定义服务协定--属性标签 属性标签,成为定义协议的主要方式.先将最简单的标签进行简单介绍,以了解他们的功能以及使用规则. 服务协定标识,标识哪些接口是服务协定,哪些操作时服务协定的 ...
- WCF入门教程(二)如何创建WCF服务
WCF入门教程(二)从零做起-创建WCF服务 通过最基本的操作看到最简单的WCF如何实现的.这是VS的SDK默认创建的样本 1.创建WCF服务库 2.看其生成结构 1)IService1.cs(协议) ...
- WCF入门教程(一)简介
WCF入门教程(一)简介 1.WCF是什么? WCF( Windows Communication Foundation), 是Microsoft为构建面向服务的应用提供的分布式通信编程框架,是.NE ...
- [WCF编程]1.WCF入门示例
一.WCF是什么? Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,整合了原有的windows通讯的 .net Remotin ...
- 无废话WCF入门教程六[一个简单的Demo]
一.前言 前面的几个章节介绍了很多理论基础,如:什么是WCF.WCF中的A.B.C.WCF的传输模式.本文从零开始和大家一起写一个小的WCF应用程序Demo. 大多框架的学习都是从增.删.改.查开始来 ...
- WCF 入门(25,26,27,28)
前言 项目赶时间,工期紧,熬过这段时间应该就好了吧.希望如此. 今天把自己那部分写的差不多了,回来和小伙伴一起又看了一遍<夏洛特烦恼>,还挺好看的,明天继续加班,do it. 第25-28 ...
随机推荐
- Nginx 反向代理&负载均衡
1.反向代理 当我们请求一个网站时,nginx会决定由哪台服务器提供服务,就是反向代理. nginx只做请求的转发,后台有多个tomcat服务器提供服务,nginx的功能就是把请求转发给后面的服务器, ...
- dubbox的provider端嵌套调用问题
今天遇到了一个问题,查了半天...,情况是这样的,我用的是dubbox,想做一个精简的全链路跟踪,一个消费者通过dubbox调用一个Service, service 里另外调用了两个service: ...
- 封装GCD以及介绍如何使用
研究GCD有一段时间,翻译了多篇文章,找了很多的资料,看了很多官方文档,看起来很难,实际上很简单,本人一一进行讲解怎么使用. 支持ARC以及非ARC,无论在ARC环境还是在非ARC环境,都需要调用di ...
- 漫话JavaScript与异步·第二话——Promise:一诺千金
一.难以掌控的回调 我在第一话中介绍了异步的概念.事件循环.以及JS编程中可能的3种异步情况(用户交互.I/O.定时器).在编写异步操作代码时,最直接.也是每个JSer最先接触的写法一定是回调函数(c ...
- 介绍几个python的音频处理库
一.eyeD3 直接在google上搜索python mp3 process ,推荐比较多的就是这个第三方库了.先来看看官方介绍吧. About eyeD3 is a Python tool for ...
- JEESZ分布式框架简介
声明:该框架面向企业,是大型互联网分布式企业架构,后期会介绍Linux上部署高可用集群项目. 项目基础功能截图(自提供了最小部分) 介绍 1. 项目核心代码结构截图 <modules& ...
- Openstack(企业私有云)万里长征第一步——安装
一.前言 单位新进了十几台服务器,建了一个高标准的一体化机房,状似刘姥姥进大观园的我,从机房规划到企业私有云搭建一一重头学来,除了机房泥墙其他基本都涉猎到了. 从企业私有云这个名字就能看出这是多么复杂 ...
- Mybatis的mapper文件引起模块划分的思考
起因:项目中将公用的代码抽离到单独一个项目 cms-common.jar (注:公用的代码不只是工具类代码,包含service和dao等) 构建:每次构建项目 cms.war 的时候,需要引入cms- ...
- vgrant使用简易教程
认识vagrant vagrant用于创建和部署虚拟化开发环境 避免了多次重新配置环境 节约了开发时间,同时可以体验不同的操作系统 对于新手也是一个不错的方式,当我们配置出错,直接删除重新安装即可 准 ...
- Combine Two Tables
Table: Person +-------------+---------+ | Column Name | Type | +-------------+---------+ | PersonId ...