跪求WCF的工作原理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跪求WCF的工作原理相关的知识,希望对你有一定的参考价值。
有谁知道WCF的工作原理。 只有5分了,
首先:
WCF的全称是Windows Communication Foundation,Windows通信基础的意思,是Microsoft为构建面向服务的应用程序而提供的统一编程模型,它整合.NET平台下所有和分布式系统有关的技术。
其次:
WCF本质是面向服务的。主要分为服务端和客户端两部分。服务端和客户端进行通信的过程如下图所示:
在上图中,主机进程就是服务端,在其中需要创建服务,然后将服务通过EndPoint(终结点)与客户端进行通信。客户端在使用服务时,需要首先创建一个代理服务,然后调用这个代理服务。
EndPoint(终结点)在WCF中是非常重要的部分。它包含了服务地址(Address)、绑定格式(Binding)和契约(Contract)。其中,地址定义了服务的位置,绑定定义了服务通信的方式,契约定义了服务所提供的功能。为了便于记忆,我们将终结点的这三个要素简称为服务的ABC
。
服务端提供了什么服务,都具备什么功能,这被称为WCF服务的契约。
WCF服务不能凭空存在。每个WCF服务都必须托管(Hosting)在一个Windows进程中,该进程被称为宿主进程。
WCF服务宿主可以由IIS提供,可以由Windows服务提供,也可以由Windows Vista的Windows激活服务提供。其中,使用IIS托管只能使用HTTP协议。
参考技术A 按照我自己的话来说就是。wcf 就是一座桥。这个桥 的一头是服务端。一头是客户端。
客户端通过桥给服务端一个请求,服务端在给客户端需要的东西。这个请求的通道和返回值的通道就是wcf
下面是官方语言:
WCF是使用托管代码建立和运行面向服务(Service Oriented)应用程序的统一框架。它使得开发者能够建立一个跨平台的、安全、可信赖、事务性的解决方案,且能与已有系统兼容协作。WCF是微软分布 式应用程序开发的集大成者,它整合了.Net平台下所有的和分布式系统有关的技术.
WCF就是专门用于服务定制、发布与运行以及消息传递和处理的一组专门类的集合,也就是所谓的“类库”。这些类通过一定方式被组织起来,共同协 作,并为开发者提供了一个统一的编程模式。WCF之所以特殊,是在于它所应对的场景与普通的.NET类库不同,它主要用于处理进程间乃至于机器之间消息的 传递与处理,同时它引入了SOA的设计思想,以服务的方式公布并运行,以方便客户端跨进程和机器对服务进行调用。实际上,WCF就是微软对于分布式处理的 编程技术的集大成者,它将DCOM、Remoting、Web Service、WSE、MSMQ集成在一起,从而降低了分布式系统开发者的学习曲线,并统一了开发标准。 参考技术B WCF的工作原理:
当创建一个服务时,它可以用来在内部网上实现跨进程、跨机器边界的客户一服务器调用。通过这个调用,可以公开队列调用和传送服务保证,并且使用完整的WS协议栈来公开可互操作的Web服务。
WCF统一了早期的多种技术,即.NET Remoting、Enterprise Services、ASMX(ASP.NET web services)和WSE(Web Services Enhancements)。
在WCF之前,开发人员被迫将分布式功能同调用这些分布式功能的技术耦合起来。这就意味着需要提前知道使用的到底是远程对象、服务组件,还是Web服务。因为它们有着不同的表述模式。不知道下面的哪一种情况会更糟糕,一种是为了满足不同的通信需求而学习这3种不同技术,一种是使用3种中的任何一种技术来满足所有不同的通信需求。有了WCF,这些问题都迎刃而解了。开发者们可以学习一种编程模式,基于契约来设计服务,在服务部署时,基于协议和策略来做出决定。而且,开发者们不必了解底层的基础管线和通信协议。 参考技术C WCF是微软为了实现SOA的框架,它是对微乳之前多种分布式技术的继承和扩展,这些技术包括Enterprise Service、.NET Remoting、XML Web Service、MSMQ等。WCF推出的原因在于:微软想将不同的分布式技术整合起来,提供一个统一的编程模型,这样对于开发者来说绝对是好事。
在过去的2个月时间内,我陆续写了WCF系列文章,这些文章只是自己这段时间学习WCF内容的一个学习过程和笔记,希望通过这种写博文的方式记录下来和总结。本系列并没有对WCF机制做一个深入解析,只是讲解了WCF支持的功能和实现,关于更深入的了解,我相信,只有在项目中使用遇到问题和解决问题的方式才能更深入地理解,这系列文章只是想大家对WCF有一个全面的认识。下面是本系列文章的一个索引,希望可以帮助大家进行收藏,同时也帮助我自己索引。
以上是关于跪求WCF的工作原理的主要内容,如果未能解决你的问题,请参考以下文章