WCF之初探

WCF是什么东东?

   WCF,是.NET Framework 3.0中的四个组件之一,是微软专门针对面向服务(Service Oriented)应用程序提供的一个分布式编程框架,可以使用托管代码建立和运行SOA的软件系统。它使得开发者能够建立一个跨平台的、安全、可信赖、事务性的解决方案,且能与已有系统兼容协作。WCF是微软分布式应用程序开发的集大成者,它整合了.Net平台下所有的和分布式系统有关的技术,例如.Net Remoting、ASMX、WSE和MSMQ,并且从分整合了.Net Remoting/Asp.Net/Xml/Web Service/MSMQ/WSE/Enterprise Service等多项分布式技术,取其精华,弃其糟粑 。以通信(Communiation)范围而论,它可以跨进程、跨机器、跨子网、企业网乃至于Internet;以宿主程序而论,可以以ASP.NET,EXE,WPF,Windows Forms,NT Service,COM+作为宿主(Host)。WCF可以支持的协议包括TCP,HTTP,跨进程以及自定义,安全模式则包括SAML,Kerberos,X509,用户/密码,自定义等多种标准与模式。全称"Windows Communication Foundation".

整个WCF的架构结构图下图所示(图片来源http://dev.yesky.com/402/8079902.shtml

         

WCF整个架构层次简单的说明:

      Contracts(契约):契约定义了整个消息系统的各个方面。而WCF契约有分好多种,数据契约描述了服务传递的每个消息的具体参数;消息契约使用SOAP来定义消息的具体格式;服务契约定义服务接口的方法签名;而策略和绑定规定访问服务的通信条件。(这些具体的契约我们后续一起慢慢完善它,先了解了解哈!大牛Artech等博客上都有详细的描述哈)。

      Service Runtime(服务运行时):服务运行时包含了在对服务进行实际操作时才发生的一些行为,即是服务的运行时行为。WCF也分好几种,节流阀行为(Throttling Behavior),控制着有多少消息能被处理;错误行为(Error Behavior)设定服务出现内部错误时,控制哪些信息被传递到客户端;元数据行为(Metadata Behavior)控制着哪些元数据暴露给外部;实例行为(Instance Behavior)控制着能运行多少服务的实例;事务行为(Transaction Behavior)在出现错误时保证事务操作能回滚;调度行为(Dispatch Behavior)控制着消息如何被整个WCF基础结构进行处理;并发行为(Concurrency Behavior)控制在服务运行的并发处理;参数过滤器(Parameter Filtering)控制着参数的过滤条件。

     Messaging(消息):消息层实际上由一些通道(Channel)所组成。所谓通道,就是一个以特定方式处理消息的组件。一系列的通道串联起来就成为通道栈。通道分为两种类型,协议通道和传输通道。协议通道有:WS安全协议通道(WS-Security Channel)、WS消息可靠性协议通道(WS-Reliability Channel)。传输通道有:HTTP通道(HTTP Channel)、TCP通道(TCP Channel)、命名管道通道(NamedPipe Channel)和消息队列通道(MSMQ Channel)。另外还有些编码通道(Encoders Channel)和事务流通道(Transaction Flow Channel)作为辅助,有兴趣的朋友可以更深的了解了解。

    Hosting and Activation(宿主和激活):服务必须在一个执行程序中运行。服务一般托管在外部可执行程序里面,如IIS和Windows激活服务(Windows Activation Service,WAS)。

 

以上由博客园辉太整理.

转载于:https://www.cnblogs.com/aaronguo/archive/2012/06/02/2532009.html

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值