欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

WCF

程序员文章站 2022-07-05 08:52:03
WCF(Windows Communication Foundation)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows通信开发平台 WCF整合了原有的Windows通信的.net Remoting ,WebService,Socket机制,并融合有HTTP和FTP的相关技 ......
  WCF(Windows Communication Foundation)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows通信开发平台
  WCF整合了原有的Windows通信的.net Remoting ,WebService,Socket机制,并融合有HTTP和FTP的相关技术。WCF是对这些技术的统一。
WCF的优点
   统一性
   互操作性
   安全与可依赖
   兼容性
   
理解面向服务
   SOA(Service Oriented Atchitecture)面向服务架构  。是指为了解决在Internel环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。SOA是一个组件模型,将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来
   SOA指出当前系统应该足够灵活,从而允许在不打乱当前成功运行的体系结构和基础结构前提下,改动已有的体系结构。
   SOA有如下原则
       边界清晰
       服务自治
       兼容性基于策略
       共享模式(schema)和契约
 
WCF框架组成
   1.协定(契约)
      契约来定义双方沟通的协议,契约必须以接口的方式来体现,而实际的服务代码必须要由这些契约接口派生并实现,
     契约可分为以下4种:
       1.数据契约(Data Contract):指定双方沟通时的数据格式
       2.服务契约(Service Contract):指定服务的定义
       3.操作契约(Opration Contract):指定服务提供的方法
       4.消息契约(MessageContract):指定在通信期间改写信息内容的规范
       契约定义消息系统的各个方面
          (1).数据契约:服务中的参数
          (2).消息契约:使用SOAP协议特定的消息部分
          (3).服务契约:服务中的方法
          (4).策略与绑定:策略设置安全或其它条件,绑定指定传输方式与编码。
   2.服务运行
      服务运行期间的行为控制
          (1).限制行为:控制处理的消息数
          (2).错误行为:出现内部错误时所处理的操作
          (3).元数据行为:是否向外提供元数据及元数据的提供方式
          (4).实例行为:可运行的服务实例数目
          (5).事务行为:处理事务
          (6).调度行为:控制WCF处理消息的方式
   3.消息传递
       消息传递层说明数据的交换格式和传输模式。消息传递层由通道(信道)组成,通道是对消息进行处理的组件,负责以一致的方式对消息进行整理和传送。通道用于传输层,协议层及消息获取。各层次的通道组成了信道栈
       通道对消息和消息头进行操作,服务运行时对消息正文进行操作。通道包括两种类型:传输通道与协议通道。
              传输通道:读取和写入来自网络的消息,传输通道通过编码器将消息转换为网络传输使用的字节流以及将字节流转换为消息。传输通道包括HTTP通道,命名管道,TCP,MSMQ等
              协议通道:通过读取或写入消息头的方式来实现消息协议。比如 WS-Security。WS-Reliability
   4.宿主与激活
         服务宿主负责WCF服务的生命周期和上下文的操作系统进程,负责启动和停止WCF服务,并提供控制服务的基本管理功能。
 
WCF的基础概念
     1.地址
      2.绑定(Binding)
      3.契约(Contract)
      4.终结点
         用来发送或接收消息(或执行这两种操作)的构造,终结点包含一个定义消息可以发送在的目的地位置节点,包含一个定义消息可以发送到的目的地位置(地址),一个描述消息应如何发送的通信机制规范(绑定)以及对于可以在该位置发送或接收(或两者皆可)的一组消息的定义(服务协定)---该定义还描述了可以发送何种消息
        终结点的地址由EndpointAddress类表示,该类包含一个表示服务地址额统一资源定位符(URI),大多数传输的地址URI包含4部分。
       例:https://home.cnblogs.com/u/1147658/
           方案:https
           计算机:home.cnblogs.com
           端口(可选):
           路径:u/147658
      5.元数据
      6.宿主(Host)