初入职场,开始接触C#,开始接触WCF,那么从头开始学习吧,边学边补充。
1. WCF是啥
Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以理解为Windows 通讯开发平台。作为微软主推的一个通讯组件或者平台,不仅支持和集成Web Service,还兼容和具备微软早期技术的特性。微软官方解释:WCF(之前的版本名为 Indigo)是使用托管代码建立和运行面向服务应用程序的统一框架。它使得开发者能够建立一个跨平台的安全、可信赖、事务性的解决方案,且能与已有系统兼容协作。
1. Microsoft 为构建面向服务SOA的应用提供的分布式通信编程框架;
2. WCF是 .NET Framework 3.5的重要组成部分;
3. Web服务和远程技术相结合的通用基础结构,提供创建远程服务并与其通信的框架;
4. 微软分布式应用程序开发的集大成者,整合了.Net平台中与分布式系统有关的技术,是Windows平台上开发分布式应用最佳的实践方式;
WCF技术允许创建服务,可以跨进程、计算机和网络从其他应用程序访问这些服务。利用这些服务,可以在多个应用程序中共享功能,提供数据源或抽象复杂过程。
2. WCF做啥
1. WCF最终目标是通过进程或不同的系统、通过本地网络或是通过Internet收发客户端服务器之间的消息;
2. WCF合并了Web服务、.net Remoting、消息队列和Enterprise Services的功能并集成在VS中;
3. WCF专门用于面向服务(Service-Oriented)开发。
3. WCF架构
一个完整的 WCF 解决方案包括如下四个部分:
1. 契约(Contracts):主要定义了实现那些服务,如何访问服务
2. 服务(Services):实现契约定义的方法
3. 宿主程序(Hosting):提供低层传输功能的支持
4. 客户端(Client): 根据契约访问服务
3. 1 契约
WCF 的基本概念是以契约(Contract) 来定义双方通信的协议,合约必须要以接口的方式来体现,而实际的服务代码必须要由这些合约接口派生并实现。
1. 服务契约(Service Contract):定义服务的一般信息;
2. 操作契约(Operation Contract):定义服务提供的方法;
3. 数据契约(Data Contract):定义双方通信时的数据格式;
4. 消息契约(Message Contract):定义在通信期间改写消息内容的规范和信息格式化方式;
3. 2 宿主程序
a. IIS
b. Windows
c. 自驻留
3. 3 客户端
客户端应用程序通过代理类与WCF服务进行通信,代理类为WCF服务实现了服务契约接口,对这个接口的操作方法的所有调用都重定向到WCF服务上。
3. 4 SOA
Service-Oriented Architecture,面向服务架构,粗粒度、开放式、松耦合的服务结构,将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口采用中立的方式定义,独立于实现服务的硬件平台、操作系统和编程语言。
实现SOA思想的技术:
1. WebService
2. WCF
什么是WebService
WCF与webService关系
WCF 是一套框架,用来创建各种服务,且能够创建兼容 Web 服务的服务,也就是说可以创建能够与Web 服务互联互通的服务。