WCF学习——掀开你的盖头来

来源:互联网 发布:四件套尺寸怎么算法 编辑:程序博客网 时间:2024/05/16 17:49

一、WCF是什么

     1、含义

         Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows通讯开发平台是使用托管代码建立和运行面向服务(Service Oriented)应用程序的统一框架。它使得开发者能够建立一个跨平台的安全、可信赖、事务性的解决方案,且能与已有系统兼容协作。

        WCF是基于Windows平台下开发和部署服务的软件开发包(Software Development Kit,SDK)。WCF提供了服务的运行环境,这样就让开发人员能够将CLR类型公开为服务,也能够通过使用CLR类型来使用服务。

        WCF框架模型如图所示

                                          

        WCF 提供了创建安全的、可靠的、事务服务的统一框架,WCF 整合和扩展了现有分布式系统的开发技术,如Microsoft .NET Remoting、Web Services、Web Services Enhancements (WSE)等等,来开发统一的可靠系统。WCF简化了SOA框架的应用,同时也统一了Enterprise Services、Messaging、.NET Remoting、Web Services、WSE 等技术,极大的方便了开发人员进行WCF应用程序的开发和部署,同时也降低了WCF应用开发的复杂度


     2、内容

契约(Contract)

       WCF 的基本概念是以契约(Contract) 来定义双方沟通的协议,合约必须要以接口的方式来体现,而实际的服务代码必须要由这些合约接口派生并实现。合约分成了四种:

       数据契约(Data Contract),订定双方沟通时的数据格式。

       服务契约(Service Contract),订定服务的定义。

       操作契约(Operation Contract),订定服务提供的方法。

       消息契约(Message Contract),订定在通信期间改写消息内容的规范。

协议绑定
       由于 WCF 支持了HTTP,TCP,Named Pipe,MSMQ,Peer-To-Peer TCP 等协议,而 HTTP 又分为基本 HTTP 支持 (BasicHttpBinding) 以及 WS-HTTP 支持 (WsHttpBinding),而 TCP 亦支持 NetTcpBinding,NetPeerTcpBinding 等通信方式,因此,双方必须要统一通信的协议,并且也要在编码以及格式上要有所一致。

安全性层次
       WCF 实现上已经支持了传输层次安全性 (Transport-level security) 以及消息层次安全性 (Message-level security) 两种。
       传输层次安全性:在数据传输时期加密,例如 SSL。

       消息层次安全性:在数据处理时就加密,例如使用数字签名,散列或是使用密钥加密法等。

二、面向服务开发

     1、WCF整体架构

小编寄语:

         WCF专门用于面向服务开发。它的最终目标是通过进程或不同的系统、通过本地网络或是通过Internet收发客户和服务之间的消息。

     2、通信模型

         WCF遵循客户端/服务器模型在应用程序之间进行通信,客户端程序能够通过服务器端提供的EndPoint端直接访问服务。

                                             


       在基于Asp.net 的应用程序开发中,我们由客户机的浏览器访问应用程序服务器,然后通过应用程序服务器中的数据库连接去连接数据库服务器,读取或是操作数据,有时候可能会多一个文件服务器。大家可以观察到,基本上所有的应用都放在了一台服务器上,但对于一个,由于业务上的需要(如:与外部系统交互),一台服务器很难支持所有的应用。

wcf

三、 WCF程序的开发步骤

         1、使用.NET接口定义契约。
         2、编写实现契约的服务类。
         3、添加相应特性对WCF的行为进行控制。
         4、开发宿主程序承载服务。
         5、设置服务端配置文件,定制个性化需要。
         6、客户端添加服务引用,生成代理类。
         7、设置客户端配置文件,定制个性化需要。

       具体开发步骤:点击链接


        小编总结: WCF作为一种框架,简单易用的编程方式是一把双刃剑,一方面它让新手非常容易上手,但另一方面,过于简单的模型使得它的使用者不明白其中的细节,因此要用好它并不容易,比如很多时候我们写的WCF程序看起来服务,配置等等各方面都没有什么问题,却莫名其妙的不工作,往往要花很长时间去调试。如何创建高性能的WCF程序,如何快速有效的对WCF程序出现的各种,要求我们对WCF本身甚至SOA有着深入的理解,对WCF内部的工作原理有着一定的了解。在此,小编仅仅给大家开了一个头,以后还需要大家深入研究。



3 0
原创粉丝点击