Windows Communication Foundation 入门(Part One)
前言:WCF
是微软基于
SOA
(
Service Oriented Architecture
)推出的
.Net
平台下的框架
产品,它代表了软件架构设计与开发的一种发展方向,在微软的战略计划中也占有非常重要的地
位。了解和掌握
WCF
,对于程序员特别是基于微软产品开发的程序员而言,是非常有必要的。
对于
WCF
,笔者也是初窥门径,抱着学习的态度作这样的一个介绍。文中的内容主要参考了微
软官方的文档、资料,以及众多介绍
WCF
的技术资料。这些资料主要都是英文,不便于国内程
序员学习
WCF
。虽然本人才疏学浅,却愿意作这样的介绍者。由于自己仅是一个初学者,英文
的功底也不够深厚,所以文中难免会有疏漏之处。同时,我也希望在文中尽量表达出自己的一些
心得与见解,这就不免增加了出现错误的可能性。此外,由于
WCF
至今仍未有正式的版本,文
中相关的技术描述以及代码会根据版本的不同而发生变化,所以我也只能尽量对此给与一定的说
明。本文会是多篇文章拼凑在一起的系列,说是系列,但并没有严格的渐进关系,只是整体上希
望能有一个相对全面的
WCF
入门介绍。此外,笔者也希望能通过此文抛砖引玉,这样也能让我
的
WCF
学习之旅更轻松一点。
一、什么是 WCF?
根据微软官方的解释,WCF(之前的版本名为“Indigo”)是使用托管代码建立和运行面向服
务(Service Oriented)应用程序的统一框架。它使得开发者能够建立一个跨平台的安全、可
信赖、事务性的解决方案,且能与已有系统兼容协作。WCF 是微软分布式应用程序开发的集大
成者,它整合了.Net 平台下所有的和分布式系统有关的技术,例如.Net Remoting、ASMX、
WSE 和 MSMQ。以通信(Communiation)范围而论,它可以跨进程、跨机器、跨子网、企业
网乃至于 Internet;以宿主程序而论,可以以 ASP.NET,EXE,WPF,Windows Forms,
NT Service,COM+作为宿主(Host)。WCF 可以支持的协议包括 TCP,HTTP,跨进程以及自
定义,安全模式则包括 SAML,Kerberos,X509,用户/密码,自定义等多种标准与模式。也
就是说,在 WCF 框架下,开发基于 SOA 的分布式系统变得容易了,微软将所有与此相关的技
术要素都包含在内,掌握了 WCF,就相当于掌握了叩开 SOA 大门的钥匙。
WCF 是建立在.Net Framework 2.0 基础之上的,正式的版本应该会作为 Windows Vista
的核心部分而 Release。然而,这并不代表 WCF 只能运行在 Windows Vista 下。只要安装了
WinFX Runtime Components,在 Windows XP 和 Windows 2003 操作系统下,仍然可以
使用。Visual Studio 2005 中并没有包含 WCF,但是当安装好了 WinFX Runtime