WCF Windows Communication Foundation 分布式通讯框架。WCF是对现有分布式通讯技术的整合。是各类分布式计算的集大成者。主要整合技术以下图:
html
WCF的服务不能孤立的存在,须要寄宿于一个运行着的进程中,咱们把承载WCF服务的进程称为宿主,为服务指定的宿主的过程称为服务寄宿。自我寄宿和IIS寄宿两种服务寄宿方式。以下图: 安全
从功能上讲,服务契约抽象了服务提供的全部操做;而站在消息交换的角度来看,服务契约则定义了基于服务调用的消息交换过程当中请求消息和回复消息的结构。经过应用ServiceContractAttribute特性将接口定义成服务契约以后,接口的方法并不能自动成为服务操做。WCF采用的是显示选择(Explicit Opt-in)的策略,意味着咱们须要在相应的操做方法上显示地应用OperationContractAttribute特性。WCF服务须要依赖一个运行着的宿主进程,服务寄宿就是为了服务指定一个宿主的过程。WCF采用基于终结点的通讯手段。终结点由地址、绑定、契约三要素组成。简称 A B C.网络
地址:地址决定了服务的位置,解决了服务寻址的问题。框架
绑定:绑定实现了通讯的全部细节,包括网络传输、消息编码,以及其余为实现某种功能(好比传输安全、可靠消息传输、事物等)对消息进行的相应处理。WCF中具备一些列的系统定义绑定,好比BasicHttpBinding、WSHttpBinding和NetTcpBinding等。分布式
契约:契约是对服务操做的抽象,也是对消息交换模式及消息结构的定义。工具
当经过Visual Studio添加服务引用的时候,Visual Studio在内部帮助咱们实现元数据的获取,并借助这些元数据经过代码生成工具(SvcUtil.ex)自动生成用于服务调用的服务代理相关代码和相应的配置。编码
服务寄宿的目的就是开启一个进程,为WCF提供一个运行的环境,并未服务添加一个或多个终结点,使之暴露给潜在的服务消费者。服务被成功寄宿以后,服务端便开始了服务调用求情的监听。spa
WCF采用基于契约的服务调用方法。Visual Studio在进行服务引用添加的过程当中,会在客户端建立一个与服务端等效的服务契约接口。因为服务端和客户端都在同一个解决方案中,所以彻底可让服务端和客户端引用相同的契约。.net
终结点是WCF进行通讯的惟一手段,ChannelFactory<Tchannel>本质上是经过指定的终结点建立用于进行服务调用的服务代理。代理
示例的建立步骤我就不具体描述了,能够参考 http://www.cnblogs.com/artech/archive/2007/02/26/656901.html。
示例的源码:http://download.csdn.net/detail/ybealq/8256967