WCF简要介绍

什么是WCF

Windows Communication Foundation(WCF卡塔尔(英语:State of Qatar)是由微软开荒的一文山会海帮助数据通讯的应用程序框架,能够翻译为Windows 通信支出平台。

结合了本来的windows通信的 .net Remoting,WebService,Socket的体制,并融入有Http和Ftp的连带技艺。WCF是对这么些技术的群集
银河网址 1

依靠MSDN上的概念:WCF为.NetFramework 提供了七个功底,使其可以编写代码,以在组件、应用程序、系统里面张开通信。WCF的安顿性固守的是面向服务的尺码。服务是指能够经过消息与之实行相互作用的黄金年代段代码。服务是毫无作为的。它们等待传入新闻随后才起来专门的职业。顾客端是发起者,客商端将音信发送给服务来呼吁职业。

是Windows平台上付出遍及式应用最好的实施方法。

 银河网址 2

假使大家要为一家小车租售商铺支付一个新的应用程序,用于租车预订服务。该租车预定服务会被多少个应用程序访谈,包蕴:呼叫中心(Call Center),基于J2EE的租车预定服务以至同盟伙伴的应用程序(Partner Application)
银河网址 3

行使WCF,该解决方案的落到实处就轻易多了。如图中所示,WCF可用于前述全数景况。由此,租车预定应用程序使用这生龙活虎种手艺就足以兑现其具备应用程序间的通信。
WCF可接收Web服务拓宽通讯,由此与平等帮衬SOAP的别的平台(举例基于J2EE的主流应用程序服务器)间的互操作性就变得简单明了。
还足以对WCF进行铺排和强盛,以便与应用并不是基于SOAP的音讯的Web服务开展通讯。
质量是许多专业中最首要的杜撰事项。开采WCF的目的正是要使之产生Microsoft所开荒的进度最快的布满式应用程序平台之风流洒脱。
WCF是提供联合的,可用来营造安全、可相信的面向服务的施用的立刻开拓平台。
WCF具有如下的优势:   
   1、统一性
   2、互操作性
   3、安全与可相信
   4、兼容性

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

SOA是指为了缓慢解决在Internet境况下业务合併的要求,通过连接能一气呵成一定义务的独立作用实体达成的后生可畏种软件系统结构。SOA是二个构件模型,它将应用程序的例外作用单元(称为服务)通过这几个服务时期定义杰出的接口和协议关系起来。
SOA提出近期系统应该丰硕灵活,进而允许在不打乱当前功成名就运转的系列结交涉根底布局的前提下,改换原来就有的种类构造。
SOA原则:

  • 边界清楚
  • 服务自治
  • 宽容性基于政策
  • 分享情势(schma)和合同

WCF类别布局简单介绍

银河网址 4

左券与认证

合同定义音讯系统的各类方面。

数据左券:劳动中的参数;

音信左券:应用SOAP公约一定的新闻部分;

劳动公约:劳务中的方法;

攻略与绑定:战术设置安全或其余规范化,绑定钦命传输形式与编码。


劳动运作时

劳务运营时期的表现控制

限制行为:垄断(monopoly卡塔尔(قطر‎管理的新闻数;

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

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

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

事情行为:处监护人务;

调节行为:垄断WCF管理信息的方法;


信息传递

音讯传递层:注明数据的置换格式和传导情势。

音信传递层由通道(信道)组成,通道是对新闻实行管理的构件,担当以同等的法子对消息举办收拾和传递。通道用于传输层、协议层、及消息获得。各档次的大道组成了信道栈。

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

三种档期的顺序:传输通道 与 合同通道。

传输通道:读取和写入来自互联网的音信,传输通道通过编码器将音讯转变为互连网传输使用的字节流,甚至将字节流调换为音讯。传输通道示比方:HTTP通道、命名管道、TCP、MSMQ等;

情商通道:透过读取或写入新闻头的诀要来兑现音讯合同,左券通道示比方:WS-Security,WS-Reliability。


承先启后和激活

劳务宿主: 担任WCF服务的生命周期和上下文的操作系统进度,担任运维和截至WCF服务,并提供控制伏务的主导管理作用。

WCF功底概念介绍

银河网址 5

契约(Contract)

WCF 的基本概念是以契约(Contract卡塔尔来定义双方交流的协商,合约必定要以接口的法子来显示,而实在的服务代码一定要由那些左券接口派生并落到实处。合约分成了多样:

  数据合约 (Data Contract卡塔尔(قطر‎,订定双方沟通时的数码格式。服务合约 (Service Contract卡塔尔国,订定服务的定义。操作合约 (Operation Contract卡塔尔国,订定服务提供的法子。音信合约 (MessageContract卡塔尔(قطر‎,订定在通讯期间改写音讯内容的正经。二个 WCF中的合约,就就像下列代码所示:

[csharp] view plain copy 银河网址 6银河网址 7

  1. using System;  
  2. using System.ServiceModel;  
  3. namespace Microsoft.ServiceModel.Samples{  
  4.   
  5. [ServiceContract(Namespace = " 服务公约  
  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卡塔尔(英语:State of Qatar),而 TCP亦帮衬NetTcpBinding,NetPeerTcpBinding等通讯格局,由此,双方一定要联合通讯的合同,况且也要在编码以致格式上要所有风华正茂致。

  一个装置通讯合同绑定的现身说法如下:

[html] view plain copy 银河网址 8银河网址 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 Service。

WCF 的劳动能够挂载于 Console Application,WindowsApplication,IIS (ASP.NET)Application,Windows Service甚至 Windows Activation Services中,但差十分的少都会挂在 Windows Service。

第生机勃勃的体系内置绑定:

银河网址 10

系统绑定扶持的法力:

银河网址 11

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

银河网址 12

终结点

–终结点是用来发送或 接纳音信(或履行那三种操作)的布局。终结点满含四个定义务消防队息能够发送到的目的地的地点(地址)结点,包蕴几个定义新闻能够发送到的目标地的岗位(地 址)、贰个汇报音讯应怎么样发送的通讯机制正式(绑定)以致对于能够在该地方发送或选拔(或二者皆可)的大器晚成组消息的定义(服务协定)—该定义还描述了足以发送何种音讯。

终结点的地点由EndpointAddress 类表示,该类蕴含二个代表服务地方的集合营源一定符(U普拉多I卡塔尔,大许多传输之处URAV4I 包罗多个部分。
例如,
“ 具备以下两个部分:
– 方案:http:
– 计算机:www.cnblogs.com
– (可选)端口:80
– 路径:/jiekzou

元数据

所谓的“元数据”便是描述数据的数据,即描述当前劳动有怎么着服务协议、方法合同和数码左券甚至终结点的音信。而“元数据终结点”正是向外面揭露元数据的终结点。当顾客端加多WCF服务援引的时候,会率先通过元数据获得劳动器端的左券新闻、终结点消息,然后依据这个消息在顾客端创造了代理类,咱们在顾客端调用WCF服务的经超过实际际上就是经过代理类调用WCF服务的历程。

宿主(Host):生机勃勃种采用程序域和经过,服务将要该景况中运转。

WCF和Webservice的区别

1.WebService**:**严酷来讲是行当标准,不是本事,使用XML扩张标志语言来表示数据(那个是跨语言和平台的第风度翩翩)。微软的Web服务完毕称为ASP.NET Web Service.它应用Soap简单对象访谈合同来兑现布满式情形里应用程序之间的数量人机联作。

WSDL来贯彻劳务接口相关的汇报。别的Webservices能够登记到UDDI宗旨.供其客商寻找使用。后来微软做了ASP.NET Web 瑟维斯的辽阳,质量,数据加密、解密,托管宿主等多地点的扩充,称为WSE连串,那些是超负荷产物,最高到WSE3.0.新生尽管WCF时期。

2.WCF*银河网址,*:**其实一定程度上正是ASP.NET WebService,因为它帮忙Web Service的行当标准和着力公约,由此ASP.NET WebService和WSE能做的政工,它大约都能胜任,跨平台和言语更寻常(数据也支撑XML格式化,何况提供了和睦的格式化器)。

本文由银河网址发布于银河网址,转载请注明出处:WCF简要介绍

您可能还会对下面的文章感兴趣: