什么是WCF

Windows Communication Foundation(WCF)是由微软开销的一多元帮忙数据通讯的应用程序框架,可以翻译为Windows
通信支出平台。

结缘了原始的windows通信的 .net
Remoting,WebService,Socket的机制,并融入有Http和Ftp的相干本领。WCF是对这一个技术的联结
图片 1

据书上说MSDN上的概念:WCF为.NetFramework
提供了三个基础,使其能够编写代码,以在组件、应用程序、系统里头开始展览通讯。WCF的规划坚守的是面向服务的准绳。服务是指能够通过消息与之实行互动的1段代码。服务是庸庸碌碌的。它们等待传入音信之后才开头职业。客户端是发起者,客户端将新闻发送给服务来呼吁职业。

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

 图片 2

如若我们要为一家小车租费商铺支付2个新的应用程序,用于租车预定服务。该租车预订服务会被八个应用程序访问,包蕴:呼叫中央(Call
Center),基于J2EE的租车预约服务以及协作伙伴的应用程序(Partner
Application)
图片 3

行使WCF,该消除方案的贯彻就轻便多了。如图中所示,WCF可用来前述全数处境。由此,租车预订应用程序使用这一种本领就足以兑现其独具应用程序间的通讯。
WCF可选用Web服务举行通讯,因而与平等扶助SOAP的此外平台(例如基于J二EE的主流应用程序服务器)间的互操作性就变得轻便明了。
还足以对WCF进行配置和扩展,以便与使用并非基于SOAP的消息的Web服务拓展通讯。
品质是绝大许多事务中主要的考虑事项。开辟WCF的目的正是要使之成为Microsoft所开荒的进程最快的分布式应用程序平台之一。
WCF是提供统一的,可用来建立安全、可相信的面向服务的接纳的高效开垦平台。
WCF具备如下的优势:   
   1、统一性
   贰、互操作性
   3、安全与可依赖
   4、兼容性

接头面向服务(瑟维斯-Oriented-Architecture)

SOA是指为了消除在Internet环境下作业集成的急需,通过连日能产生一定职务的独门功效实体实现的1种软件系统架构。SOA是一个组件模型,它将应用程序的两样效率单元(称为服务)通过这么些劳动时期定义优异的接口和契约关系起来。
SOA提出近日系统应该充分灵活,从而允许在不打乱当前成功运转的系统布局和底蕴结构的前提下,退换已部分体系布局。
SOA原则:

  • 分界清晰
  • 服务自治
  • 包容性基于政策
  • 共享格局(schma)和契约

WCF类别架构简单介绍

图片 4

契约与认证

契约定义音讯系统的各个方面。

多少契约:劳务中的参数;

音讯契约:采取SOAP协议一定的新闻部分;

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

陈设与绑定:战略设置安全或其余条件,绑定钦点传输格局与编码。


劳务运维时

服务运作时期的行事调整

界定行为:决定处理的音信数;

错误行为:现身当中错误时所处理的操作;

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

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

作业行为:处总管务;

调度行为:操纵WCF处理音信的章程;


音讯传递

新闻传递层:证实数据的调换格式和传导情势。

新闻传递层由通道(信道)组成,通道是对新闻实行处理的组件,负责以同等的章程对消息进行规整和传递。通道用于传输层、协议层、及音信得到。各层次的大路组成了信道栈。

大路对音信和音信头实行操作,服务运作时对音讯正文实行操作。

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

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

协商通道:透过读取或写入音信头的点子来促成音信协议,协议通道示例如:WS-Security,WS-Reliability。


承载和激活

劳务宿主:
负责WCF服务的生命周期和上下文的操作系统进度,负责运营和终止WCF服务,并提供控战胜务的中坚管理效果。

WCF基础概念介绍

图片 5

契约(Contract)

WCF 的基本概念是以合同(Contract)来定义双方联系的商谈,合约必要求以接口的方法来反映,而实在的劳务代码必供给由那个合同接口派生并促成。合约分成了二种:

  数据合约
(Data Contract),订定双方联系时的数目格式。服务合约 (瑟维斯 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 = “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等通讯格局,由此,双方必须求统1通讯的磋商,并且也要在编码以及格式上要有所一致。

  3个安装通讯协议绑定的示范如下:

[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
类表示,该类包蕴三个意味着服务地点的联独财富一定符(UBMWX3I),大许多传输的地点U汉兰达I
包罗四个部分。
例如,
http://www.cnblogs.com:80/jiekzou”这个URI 具备以下五个部分:
– 方案:http:
– 计算机:www.cnblogs.com
– (可选)端口:80
– 路径:/jiekzou

元数据

所谓的“元数据”便是描述数据的数目,即描述当前劳动有怎么样服务契约、方法契约和数码契约以及终结点的音讯。而“元数据终结点”正是向外侧揭穿元数据的终结点。当客户端增加WCF服务引用的时候,会首先通过元数据获得劳动器端的契约新闻、终结点新闻,然后依据这一个新闻在客户端创制了代理类,大家在客户端调用WCF服务的历程实际上固然通过代理类调用WCF服务的长河。

宿主(Host):1种选择程序域和经过,服务将要该环境中运营。

WCF和Webservice的区别

1.WebService**:**严峻来说是行当标准,不是本领,使用XML扩大标志语言来表示数据(那几个是跨语言和平台的根本)。微软的Web服务实现称为ASP.NET Web 瑟维斯.它应用Soap轻便对象访问协议来贯彻分布式环境里应用程序之间的数目交互。

WSDL来落到实处服务接口相关的叙述。其它Webservices可以挂号到UDDI中心.供其客户搜索使用。后来微软做了ASP.NET Web Service的平安,品质,数据加密、解密,托管宿主等多地点的扩大,称为WSE连串,那几个是超负荷产品,最高到WSE3.0.新兴纵然WCF时期。

2.WCF**:**其实一定程度上正是ASP.NET WebService,因为它援救Web
Service的行当标准和核心协议,因而ASP.NET WebService和WSE能做的作业,它大致都能独当一面,跨平台和言语更不是主题素材(数据也帮忙XML格式化,而且提供了和谐的格式化器)。

网站地图xml地图