今天开一个新坑WCF的入门教程
什么是WCF
wcf - Windows Communication Foundation,是微软设计的一个构建SOA的一个应用程序框架。其主要用于解决应用程序之间的通信问题。
在我看来WCF更适合被看做一个统一的通信编程模型。在WCF之前,微软推出过Web Service,.NET Remoting以及基础的Winsock等通信框架。各个通信方式的编程模型各不相同,这就为开发者学习、维护和切换通信模式产生了障碍。
而WCF几乎涵盖了所有.NET Framework 中的通信方法,为其提供了统一的API接口,以及灵活的配置方案。这就解决了上述的种种问题,开发者只要学会使用WCF就够了。
这也是为什么许多人将WCF称为微软分布式应用开发的集大成者。
WCF的体系结构
WCF的结构体系如图所示,分为协定、服务运行时、消息传递、承载程序四个部分
协定(Contract)
协定指定了应用程序之间通信的API规范,比如数据协定就规定了.NET 对象的序列化和反序列化的方式,而服务协定就规定了服务的API调用方法签名。
服务运行时 (Service Runtime)
虽然是叫运行时,其实这个只是WCF服务运行期间的行为配置。例如我们实现了具有某个服务协定的接口,但是我们在运行服务时往往还需要关心这个服务所需要运