WCF架构日记-1

WCF功能很强大,但是真的能把其中的原理说清楚,对于我比较困难,今天对之前的笔记总结一下:

首先WCF的契约可以总结为四大类:消息契约、数据契约、服务契约、错误处理契约。

【客户端处理是如何处理的】

在客户端,应用程序通过一个代理来转发对宿主端所提供服务的调用,而代理拥有和服务相同的操

作接口(类似channel生成服务代理),有了代理那么系统就要考虑如何管理代理,因此另外还有一些附加的代理管理方法。这也就意味着客户端从来不会直接调用服务,即便这个服务就在本机的内存中。当客户端代理接收到来自客户端的调用请求后,它将消息通过信道链向下传递。每个信道都会执行相应的消息的调用前处理,例如对消息的编码、提供可靠的会话、对消息进行加密等。客户端的最后一个信道则是传输信道,根据配置的传输方式发送消息给宿主。

客户端通过代理或者信道来使用服务;也可使用简化的servicehost泛型处理,简化处理流程;

【服务端是如何处理的】

在宿主端,消息同样通过信道链进行传输。与客户端信道相对应,宿主端信道也会对消息执行相应的宿主端的调用前处理,例如对消息的解码、提供会话管理、对消息进行解密等。宿主端的最后一个信道则负责将消息发送给消息分发器(Dispatcher),由分发器负责调用服务的实例。

【wcf运行环境】

宿主(Host),即承载WCF Service运行的环境。可用的宿主环境包括:

(1) 自承载方式:在控制台应用程序与基于WinForm的应用程序中都可以使用这种方式;

(2) 系统服务方式:服务可以随着操作系统的启动而自动启动;

(3) IIS方式:与Web Services 的部署方式类似,由请求消息来激活服务,但只支持HTTP方式的绑定; (4) WAS(Windows Process Activation Service)方式:这个宿主是 IIS7 的一部分,只有 Windows Vista 和 Windows Server 2008提供默认支持,它支持几乎所有的通讯协议并提供了应用程序池、循环回收、空闲管理、身份管理、隔离等强大的功能
【wcf体系结构4层】
(1)协定。例如对消息参数的定义,由XML结构文档定义的;服务协定,如方法签名
        而协定过程中的策略和绑定规定,则定义了实现通信的条件,如指定传输TCP还是HTTP,编码方式,安全要求以及其它条件。
(2)服务运行时。服务运行期间的行为,如处理的消息数量,发生错误后采取的操作;对元数据的控制;事务控制,发生失败时允许回滚全部操作;自定义运行时进程;对消息的检查及参数筛选
(3)消息传递。该层是由通道组成的,通道以某种方式对消息处理,通道有2种,传输通道和协议通道。
(4)承载和激活服务。

时间: 2024-10-11 19:06:24

WCF架构日记-1的相关文章

WCF学习日记

图书馆借阅了<WCF高级编程>,从6.11开始学习wcf,希望尽快熟悉原理和编程模型以及常用编程方法. WCF是一个平台,也是一个框架,从Net.3.0 就在Net framework(无需安装) .WCF将服务以SOA架构对外使用.SOA的宗旨就是让应用程序成为一个接口可以供其余程序使用.比如图书订单管理系统,订单履约系统,ship系统,会计系统,以及其它系统,每个都是一个独立的系统,但是彼此系统应该作为接口供别人使用,这样即使扩展了服务或者改善了服务也不会影响原先的体系架构和业务规则. W

Wcf架构简介

一.概述 Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口, 它是.NET框架的一部分.由 .NET Framework 3.0 开始引入.WCF的最终目标是通过进程或不同的系统.通过本地网络或是 通过Internet收发客户和服务之间的消息.WCF合并了Web服务..net Remoting.消息队列和Enterprise Services的功能并集成 在Visual Studio中.WCF

分享一个大型进销存供应链项目(多层架构、分布式WCF多服务器部署、微软企业库架构)

分享一个大型进销存供应链项目(多层架构.分布式WCF多服务器部署.微软企业库架构) 这是一个比较大型的项目,准备开源了.支持N家门店同时操作.远程WCF+企业库5.0实现. 这块应该算是库存模块中的核心模块了,因为该块的业务逻辑比较多,比较繁琐,大致讲讲业务逻辑吧,大致的逻辑为:出库单/出库单-->填写订单-->出库/入库-->修改库存信息,按照这个顺序来完成入库出库,顺序不能颠倒,同时还要实现订单的删除,修改,在修改库存信息时由于表和表之间有很多的外键关系,所以要同时删除多张表中含有删

【架构之路之WCF全析(一)】--服务协定及消息模式

上周微软开发布会说.NET支持完全跨平台和并开放Core源码的新闻,让我们顿时感到.NET要迎来它的春天.虽然早在几年前.NET就能开发Android和IOS,但是这次的跨平台把Linux都放到了微软战略之中,以后的.NET Developer就可以使用Vs开发Linux应用了,Developer又有了新的选择,从微软的战略转型也可以看出互联网已经步入到了新的模式,以后不再是PC的时代,移动互联和云时代已经到来. 最近做项目时使用到了WCF,项目把数据层和程序层进行了分割,相互之间的数据传输使用

转 WCF WebService区别

下面我们来详细讨论一下二者的区别.Web Service和WCF的到底有什么区别. [1]Web Service:严格来说是行业标准,也就是Web Service 规范,也称作WS-*规范,既不是框架,也不是技术. 它有一套完成的规范体系标准,而且在持续不断的更新完善中. 它使用XML扩展标记语言来表示数据(这个是夸语言和平台的关键).微软的Web服务实现称为ASP.NET Web Service.它使用Soap简单对象访问协议来实现分布式环境里应用程序之间的数据交互.WSDL来实现服务接口相关

Web Service和WCF的到底有什么区别

[1]Web Service:严格来说是行业标准,也就是Web Service 规范,也称作WS-*规范,既不是框架,也不是技术. 它有一套完成的规范体系标准,而且在持续不断的更新完善中. 它使用XML扩展标记语言来表示数据(这个是夸语言和平台的关键).微软的Web服务实现称为ASP.NET Web Service.它使用Soap简单对象访问协议来实现分布式环境里应用程序之间的数据交互.WSDL来实现服务接口相关的描述.此外Web services 可以注册到UDDI中心.供其客户查找使用.  

WCF探索之旅(五)——WCF与WebService的异同

前几篇文章我们简单的介绍了WCF以及如何使用它,今天我们来讨论一下WCF和WebService的异同. 相信大多数同学跟我一样,对于WebService有所了解,而且应该说你是先听说WebService,后听说还有个WCF的,对不对?那好,我们今天来一起看看,这两者有何不同. WebService是标准,是一种规范.严格来说WebService是一种行业标准,不是一种特定的技术.而WCF是一种WebService的实现.在WCF之前,微软系列中有ASP.NET Web Service,后来微软做

面试题:Web Service与wcf的区别

Web Service:严格来说是行业标准,也就是Web Service 规范,也称作WS-*规范,既不是框架,也不是技术. 它有一套完成的规范体系标准,而且在持续不断的更新完善中. 它使用XML扩展标记语言来表示数据(这个是夸语言和平台的关键).微软的Web服务实现称为ASP.NET Web Service.它使用Soap简单对象访问协议来实现分布式环境里应用程序之间的数据交互.WSDL来实现服务接口相关的描述.此外Web services 可以注册到UDDI中心.供其客户查找使用.     

webservice与WCF

可以这样简单理解:WCF是微软的基于.net平台的一种分布式服务框架.wcf和webservice都是SOA的实现方式.wcf是微软特有的.webservice则是通用的一种服务.wcf是webservice的一个细化. Web Service:严格来说是行业标准,也就是Web Service 规范,也称作WS-*规范,既不是框架,也不是技术. 它有一套完成的规范体系标准,而且在持续不断的更新完善中. 它使用XML扩展标记语言来表示数据(这个是夸语言和平台的关键).微软的Web服务实现称为ASP