什么是WCF

Windows Communication Foundation(WCF)是由微软费用的一多种帮助数据通讯的应用程序框架,能够翻译为Windows
通信支出平台。

构成了原有的windows通信的 .net
Remoting,WebService,Socket的体制,并融入有Http和Ftp的有关手艺。WCF是对那一个技术的统一
新濠天地老品牌xh 1

听大人说MSDN上的概念:WCF为.NetFramework
提供了贰个基础,使其能够编写代码,以在组件、应用程序、系统之间进行通讯。WCF的安顿遵从的是面向服务的口径。服务是指能够因此新闻与之实行相互的一段代码。服务是失落的。它们等待传入音信随后才起来工作。客户端是发起者,客户端将音讯发送给服务来呼吁工作。

是Windows平台上付出分布式应用最好的实施措施。

 新濠天地老品牌xh 2

假诺大家要为一家小车租借企业支付2个新的应用程序,用于租车预定服务。该租车预定服务会被多少个应用程序访问,包蕴:呼叫中心(Call
Center),基于J二EE的租车预订服务以及合营伙伴的应用程序(Partner
Application)
新濠天地老品牌xh 3

运用WCF,该化解方案的达成就轻松多了。如图中所示,WCF可用于前述全体意况。由此,租车预订应用程序使用这一种技术就足以兑现其独具应用程序间的通讯。
WCF可应用Web服务开始展览通讯,因而与同样支撑SOAP的任何平台(例如基于J2EE的主流应用程序服务器)间的互操作性就变得轻松明了。
还足以对WCF实行配备和扩张,以便与运用并非基于SOAP的音讯的Web服务拓展通讯。
个性是绝大大多事务中要害的思考事项。开采WCF的目的就是要使之成为Microsoft所开拓的进度最快的分布式应用程序平台之一。
WCF是提供联合的,可用于建立安全、可相信的面向服务的行使的神速开垦平台。
WCF具备如下的优势:   
   1、统一性
   2、互操作性
   三、安全与可依赖
   4、兼容性

明亮面向服务(Service-Oriented-Architecture)

SOA是指为了缓解在Internet环境下工作合并的需求,通过连接能不辱职分一定职分的独自成效实体落成的1种软件系统架构。SOA是2个零件模型,它将应用程序的不如功用单元(称为服务)通过那个服务期间定义非凡的接口和契约关系起来。
SOA提议目前系统应该丰硕灵活,从而允许在不打乱当前成功运维的连串布局和基础结构的前提下,改造已有个别种类布局。
SOA原则:

  • 边界清楚
  • 服务自治
  • 包容性基于政策
  • 共享形式(schma)和契约

WCF种类架构简单介绍

新濠天地老品牌xh 4

契约与认证

契约定义音信系统的各样方面。

数据契约:服务中的参数;

信息契约:运用SOAP协议一定的音讯部分;

服务契约:劳务中的方法;

战术与绑定:战术设置安全或此外标准,绑定内定传输方式与编码。


劳动运营时

服务运转时期的行事调整

范围行为:操纵处理的消息数;

错误行为:并发个中错误时所处理的操作;

元数据表现:是不是向外提供元数据及元数据的提供格局;

实例行为:可运营的劳务实例数目;

作业行为:处监护人务;

调度行为:决定WCF处理音信的格局;


新闻传递

新闻传递层:证实数据的沟通格式和传导格局。

音信传递层由通道(信道)组成,通道是对新闻进行拍卖的机件,负责以同样的不二秘技对音讯实行整治和传递。通道用于传输层、协议层、及信息获得。各层次的通道组成了信道栈。

通道对音讯和音讯头进行操作,服务运作时对信息正文进行操作。

二种档次:传输通道 与 协议通道。

传输通道:读取和写入来自网络的新闻,传输通道通过编码器将消息转变为互联网传输使用的字节流,以及将字节流转换为新闻。传输通道示例如:HTTP通道、命名管道、TCP、MSMQ等;

商业事务通道:通过读取或写入音信头的法子来落成消息协议,协议通道示例如:WS-Security,WS-Reliability。


承袭和激活

劳动宿主:
负责WCF服务的生命周期和上下文的操作系统进度,负责运营和终止WCF服务,并提供控制伏务的为老板理效果。

WCF基础概念介绍

新濠天地老品牌xh 5

契约(Contract)

WCF 的基本概念是以合同(Contract)来定义双方联系的合计,合约必须求以接口的章程来浮现,而实质上的服务代码必须要由这一个合同接口派生并促成。合约分成了三种:

  数据合约
(Data Contract),订定双方交换时的多寡格式。服务合约 (Service Contract),订定服务的定义。操作合约 (Operation Contract),订定服务提供的秘技。音讯合约 (MessageContract),订定在通讯期间改写新闻内容的科班。3个 WCF中的合约,就不啻下列代码所示:

[csharp] view
plain

copy 新濠天地老品牌xh 6新濠天地老品牌xh 7

  1. using System;  
  2. using System.ServiceModel;  
  3. namespace Microsoft.ServiceModel.Samples{  
  4.   
  5. [ServiceContract(Namespace = “http://Microsoft.ServiceModel.Samples")\]// 服务合同  
  6. public interface ICalculator  
  7. {  
  8. [OperationContract] // 操作合约  
  9. double Add(double n1, double n2);  
  10.   
  11. [OperationContract] // 操作合约  
  12. double Subtract(double n1, double n2);  
  13.   
  14. [OperationContract] // 操作合约  
  15. double Multiply(double n1, double n2);  
  16.   
  17. [OperationContract] // 操作合约  
  18. double Divide(double n1, double n2);  
  19. }  
  20. }  

绑定
(Binding)

  由于 WCF
支持了 HTTP,TCP,Named Pipe,MSMQ,Peer-To-Peer
TCP等协商,而
HTTP 又分为大旨HTTP 协助(BasicHttpBinding)以及 WS-HTTP 补助 (WsHttpBinding),而 TCP亦援救NetTcpBinding,NetPeerTcpBinding等通讯格局,因而,双方须要求合并通讯的协商,并且也要在编码以及格式上要具有一致。

  3个设置通讯协议绑定的示范如下:

[html] view
plain

copy 新濠天地老品牌xh 8新濠天地老品牌xh 9

  1. <?xml version=”1.0″ encoding=”utf-8″ ?>  
  2. <configuration>  
  3. <system.serviceModel>  
  4. <!– 设定服务系结的音信 –>  
  5. <services>  
  6. <service name=” CalculatorService” >  
  7. <endpoint address=”” binding=”wsHttpBinding”bindingConfiguration=”Binding1″ contract=”ICalculator”/>  
  8. </service>  
  9. </services>  
  10. <!– 设定通信协定系结的音信 –>  
  11. <bindings>  
  12. <wsHttpBinding>  
  13. <binding name=”Binding1″>  
  14. </binding>  
  15. </wsHttpBinding>  
  16. </bindings>  
  17. </system.serviceModel>  
  18. </configuration>  

  固然 WCF
也得以运用
SOAP做通讯格式,但它和未来的 ASP.NETXML Web Services分裂,由此有局地工夫小说中,会将 ASP.NET 的 XML Web Services称为 ASMX 瑟维斯。

WCF 的服务能够挂载于
Console Application,WindowsApplication,IIS (ASP.NET)
Application,Windows Service以及 Windows
Activation 瑟维斯s中,但多数都会挂在 Windows Service。

驷不如舌的种类内置绑定:

新濠天地老品牌xh 10

系统绑定支持的效用:

新濠天地老品牌xh 11

各类绑定方式的性质相比较:

新濠天地老品牌xh 12

终结点

–终结点是用来发送或
接收音讯(或施行那三种操作)的布局。终结点蕴涵叁个概念音信能够发送到的目的地的职位(地址)结点,包含一个概念信息能够发送到的目标地的岗位(地
址)、三个叙述音信应怎么着发送的通讯机制规范(绑定)以及对此能够在该职位发送或收受(或贰者皆可)的一组新闻的概念(服务协定)—该定义还讲述了能够发送何种音信。

终结点的地方由EndpointAddress
类表示,该类包罗三个意味着服务地点的联独财富一定符(UCR-VI),大繁多传输的地方UXC60I
包括多个部分。
例如,
http://www.cnblogs.com:80/jiekzou”这个URI 具备以下多个部分:
– 方案:http:
– 计算机:www.cnblogs.com
– (可选)端口:80
– 路径:/jiekzou

元数据

所谓的“元数据”便是描述数据的数额,即描述当前服务有啥服务契约、方法契约和数码契约以及终结点的新闻。而“元数据终结点”正是向外围暴光元数据的终结点。当客户端加多WCF服务引用的时候,会率先通过元数据得到劳动器端的契约音信、终结点新闻,然后遵照这么些新闻在客户端创立了代理类,我们在客户端调用WCF服务的历程实际上尽管经过代理类调用WCF服务的长河。

宿主(Host):壹种接纳程序域和进度,服务将在该环境中运营。

WCF和Webservice的区别

1.WebService*新濠天地老品牌xh,*:**严厉来讲是行业标准,不是本事,使用XML扩充标志语言来代表数据(那些是跨语言和平台的根本)。微软的Web服务达成称为ASP.NET Web Service.它使用Soap轻便对象访问协议来兑现分布式环境里应用程序之间的数额交互。

WSDL来贯彻劳务接口相关的讲述。此外Webservices能够登记到UDDI中央.供其客户寻找使用。后来微软做了ASP.NET Web Service的达州,品质,数据加密、解密,托管宿主等多地方的恢弘,称为WSE种类,那些是过于产品,最高到WSE三.0.新生就算WCF时期。

2.WCF**:**其实一定水准上正是ASP.NET WebService,因为它协助Web
Service的行业标准和着力协议,因而ASP.NET WebService和WSE能做的职业,它差不多都能独当一面,跨平台和言语更不奇怪(数据也协助XML格式化,而且提供了协调的格式化器)。

网站地图xml地图