WCF-基础概念

WCF: Windows通讯基础

WCF以SOA为基础,遵循面向服务的原则,WCF服务的功能是通过定义接口进行表达的,外部调用者和WCF服务通信只能通过接口。

SOA (service-orientedarchitecture面向服务的体系结构):设计分布式系统的一种方式,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来,通过跨越边界传递消息来让多个独立服务协同工作。

服务是指可以通过消息与之进行交互的一段代码。服务是被动的。它们等待传入消息之后才开始工作。客户端是发起者,客户端将消息发送给服务来请求工作

技术综合:

ASMX: Web servise服务

WSE:升级版的ASMX,添加了安全模块。

Remoting:分布式通信技术,缺点:不支持跨平台,优点:采用tcp传递,二进制的比文本的好。

WCF应用程序的基本构成

WCF服务程序集:这个*.dll包含向外部用户公开的类和接口。

WCF服务宿主:承载WCF服务程序集的实体。

WCF客户端:通过中间代理访问服务功能的应用程序。

WCF的ABC:WCF核心模块A(address)B(binding)C(contract)

(1)地址:服务的位置,远程调用者定位远程类型,地址可以硬编码在程序集中(System.Uri类型),或分离到*.config文件中。

构架(http/net.tcp)://<机器名>[:端口]/路径.

一个WCP服务公开一个地址,但可以配置为一个地址的集合,在.config文件中定义多个<endpoint>元素实现。

(2)绑定:指定网络协议、编码机制和传输层。

基于HTTP的绑定协议

BasicHttpBinding:维持向后兼容性。

WSHttpBinding:支持使用消息传输优化机制(MTOM)处理二进制数据编码。

WSDualHttpBinding:允许调用者和发送者使用双向消息进行通信,可以挂接到WCF发布/订阅事件模型。

WSFederationHttpBinding:安全性高。高效的对永和进行验证和授权。

基于TCP的绑定:分布式应用程序包括.NET4类库进行配置,客户端和宿主必须是.NET应用程序。

NetTcpBinding:使用TCP在客户端和WCF服务之间移动二进制数据。

NetNamePipeBinding:不能跨机器调用,在相同机器WCF应用程序之间推送数据最快。

(3)契约:从WCF服务公开的每一个方法的描述,就是接口。

WCF契约:服务契约、数据契约、消息契约和错误契约。

WCF契约的接口称为服务契约,服务契约抽象了服务提供的所有操作,实现了这些接口的类称为服务类型。

WCF服务契约最常定义在System.ServiceModel命名空间中,如果服务契约的成员只包含简单数据类型,使用[OperationContract]和[ServiceContract],使接口成为WCF所提供的服务使用[ServiceContract],使用的方法用[OperationContract]。

如果成员公开自定义类型,需要使用System.Runtime.Serialization.dll程序集中的System.Runtime.Serialization命名空间中,使用[DataMember]和[DataContract].

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值