您所在的位置:IT专家堂 > 开发 > WCF开发指南之构建服务(1)

WCF开发指南之构建服务(1)

2008-03-20 09:16 朱先忠编译 天极开发 字号:T | T
一键收藏,随时查看,分享好友!

Windows通讯基础(简称为WCF)是一种SDK,用于让你使用典型的CLR编程结构(例如用于发布和消费服务的类和接口等)来构建Windows面向服务的应用程序。WCF的编程模型是声明性的并且大部分是属性驱动的。本文全面介绍了构建一个WCF服务所需要的基本概念。

AD:

一、引言

Windows通讯基础(简称为WCF)是一种SDK,用于让你使用典型的CLR编程结构(例如用于发布和消费服务的类和接口等)来构建Windows面向服务的应用程序。WCF的编程模型是声明性的并且大部分是属性驱动的。

WCF为通讯服务提供了一种运行时刻环境,使你能够把CLR类型暴露为服务并且以CLR类型来消费服务。

尽管在理论上你可以不用WCF来构建服务;但是,在实践中,WCF能够显著地简化这一任务。WCF是微软的一组工业标准的实现,该标准定义了服务交互、类型转化、编排和多种协议的管理。因此,WCF提供了服务间的互操作性并且提高了开发效率(包括几乎任何应用程序所要求实现的基本的常规的繁重任务)。本文将描述WCF块及其架构的基本概念和构建,从而使你能够构建简单的服务。

二、什么是WCF服务?

一个服务是一个暴露给外界的功能单元。从编程模型的发展历史来说,它经历了从函数到对象再到组件最后到服务的过程;而WCF服务正代表了下一代的革命性的Windows编程模型。面向服务(SO)是一组原则的抽象集和针对于构建SO应用程序的最好实践,但这其中的一大部分已经超出了本文的范围。

一个面向服务的应用程序(SOA)把服务聚合成单个逻辑的应用程序(见图1),这类似于一个面向组件的应用程序聚合组件或一个面向对象的应用程序聚合对象的方式。服务可以是本地的也可以是远程的,可以由多种团队使用任何技术开发而成,它们可以被独立地进行版本化管理,甚至可以在不同的时间进度上执行。在一个服务内部,你可以使用例如语言,技术,平台,版本和框架等概念;然而,在服务之间,只允许使用规定的通讯模式。

图1:一个面向服务的应用程序的框架

客户端通过发送和接收消息与服务进行交互。消息可以从客户端直接或经中介传输到服务。在WCF中,所有的消息都是SOAP消息。注意,这些消息独立于传输协议——不象Web服务,WCF服务可以通过多种传输协议进行通讯,而不仅是HTTP。

在WCF中,客户端从不直接与服务进行交互,即使在当处理一个本地的内存中服务时。而是,客户端总是使用一个代理来把该调用转发给服务。WCF允许客户端跨越所有执行边界与服务进行通讯。在同一台计算机上(见图2),客户端可以跨越同一进程中的应用程序域或进程来消费同一个应用程序域中的服务。通过跨越计算机边界(图3),客户端能够在企业内网或跨越因特网与服务进行交互。

图2:使用WCF在同一台机器上通讯

图3:跨机器通讯:这里是一个跨机器使用WCF通讯的例子

因为所有的交互是经由一个代理实现的,所以对于本地和远程情况下,WCF保持相同的编程模型,这样以来不仅能够使你进行位置切换而不影响客户端,而且显著地简化应用程序编程模型。大多数WCF功能被包括到位于System.ServiceModel命名空间的单个的程序集System.ServiceModel.dll中。

三、服务地址

在WCF中,每一个服务都与唯一一个地址相联系。该地址提供了两个重要的元素:服务的位置和用于与服务进行通讯的传输协议。地址的位置部分指出目标计算机名,站点或网络,一个通讯端口,管道或队列,还有一个可选的特定的路径或URI。至于传输,WCF 1.0支持下列:

◆HTTP
◆TCP
◆端对端网络
◆IPC(通过命名管道进行的进程间通讯)
◆MSMQ

内容导航



分享到:

栏目热门

更多>>

  • 头条 使用检查约束验证SQL Server中的数据
  • 构建应用程序最关键的目标之一是确保所有进入数据库的数据都要符合你的业务规则,数据校验是应用程序的关键部分,确保你的数据满足业务分析师制定的需求。本文将给大家介绍如何使用检查约束验证SQL Server中的数据。
  1. 对话职业经理人阿朱:程序员转型期的职业选择
  2. 从检测到防护:全面打造网站安全

热点职位

更多>>

热点专题

更多>>

读书

SOA 原理•方法•实践
本书并不是关于Web服务的又一本开发手册,抑或是开发技术的宝典之类的读物。本书的作者来自于IBM软件开发中心的SOA技术中心,作

51CTO旗下网站

领先的IT技术网站 51CTO 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院 区块链第一聚合媒体 zhijiapro