服务站: WCF消息传递基础

开始分离 Windows Communication Foundation 的各层时,您会发现一种复杂的基于 XML 的消息传递框架,它在使用各种协议和格式连接系统时提供了大量的可能性。在本月的专栏中,我将着重介绍一些主要的消息传递功能,它们提供了这样的灵活性。

本专栏假定您对 Windows Communication Foundation 编程模型具有基本的了解。如果您不熟悉它,那么在继续之前,您应该阅读 2006 年 2 月份的《MSDN 杂志》中我的文章。

Windows Communication Foundation 消息传递体系结构的主要目的之一是,在提供统一编程模型的同时,还允许灵活地表示数据和传递消息。这是基于将 XML 作为数据模型以及将 SOAP 和 WS-Addressing 作为消息传递框架而实现的。但是,Windows Communication Foundation 构建在这些模型基础上这一事实,并不意味着在传递消息时必须使用 XML 1.0、SOAP 或 WS-Addressing。您将会看到 Windows Communication Foundation 提供了很大的灵活性。

XML 表示形式

从早期的 XML 开始,软件行业就依赖于为在 XML 文档中找到的数据提供标准定义的鲜为人知的规范。此规范称为 XML 信息集 (InfoSet),它根据元素和属性所包含的信息来定义它们,在某种意义上这完全与字节表示形式无关。(有关详细信息,请参阅 www.w3.org/TR/xml-infoset。)

InfoSet 规范使得其他 XML 规范和 API 为在 XML 文档中找到的数据提供一致的视图成为可能(尽管它们可能以完全不同的方式表示该数据)。最终,InfoSet 为使用 XML 数据的应用程序提供了共同的集合点,如图 1 所示。最后要说的是,XML 处理器负责在字节表示形式和编程模型体验之间的转换。

图 1 XML InfoSet 的角色

Windows Communication Foundation 为 System.Xml 命名空间引入了一些基本增强,这使得在读写 XML 文档时利用替代的字节表示形式(而不是仅限文本的 XML 1.0)成为可能。此处关注的主要类 System.Xml.XmlDictionaryReader 和 System.Xml.XmlDictionaryWriter 位于 Microsoft .NET Framework 3.0 附带的新 System.Runtime.Serialization 程序集中。

XmlDictionaryReader 和 XmlDictionaryWriter 类都提供了静态工厂方法,用于创建使用文本、二进制和 MTOM(消息传输优化机制)表示形式的读取器和编写器。例如,XmlDictionaryReader 提供了 CreateTextReader、CreateBinaryReader 和 CreateMtomReader 方法,而 XmlDictionaryWriter 提供了对应的 CreateTextWriter、CreateBinaryWriter 和 CreateMtomWriter 方法。

时间: 2024-09-17 04:20:38

服务站: WCF消息传递基础的相关文章

Silverlight+WCF 新手实例 象棋 WCF通讯基础(十四)

从此节开始,我们要开始WCF通讯了. 本游戏的只是基于WCF最基础的应用,没有WCF深奥的知识,相关的深奥知识请关注专业的WCF系列文章. 我们先来实现一个Silverlight里调用Hellow的尝试: 我们新建一个新的Silverlight应用程序:文件->新建->项目->Silverlight应用程序->Hellow 建立后就一个Hellow应用程序和一个Helow.web的Web应用程序.   一:我们将WCF集成在Web应用程序中 我们对着Web应用程序右键->添加

Learn WCF (1)--基础篇

Windows Communication Foundation (WCF)是一个面向服务编程的综合分层架构.该架构的顶层称为服务建模层(Service Model Layer),使用户用最少的时间和经历建立自己的软件产品和外界通信的模型.它使得开发者能够建立一个跨平台的安全.可信赖.事务性的解决方案,且能与已有系统兼容协作.我将通过几篇文章和大家一起学习WCF,希望能对新手学习WCF有些帮助. 从功能的角度来看,WCF 完全可以看作是ASMX,.Net Remoting,Enterprise

微软宣布 WCF 通讯基础库开源

微软宣布将 Windows Communication Foundation(WCF) 项目开源了,Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台.WCF 整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有HTTP和FTP的相关技术.是Windows平台上开发分布式应用最佳的实践方式. WCF 的代码托管在 Github

服务站: WCF的服务工厂

本月,我将继续探讨软件工厂,此次介绍的内容是 Windows Communication Foundation 的 Web 服务软件工厂.接着,我将介绍如何自定义指导包,该指导包将提供 一套与 Visual Studio 2005 集成且自动化常见开发任务的代码方案. 有两种服务工厂指导 包可供使用:一种是生成 ASP.NET Web 服务 (ASMX) 代码的指导包,另一种是生成 Windows Communication Foundation 代码的指导包.ASMX 版本已随 MSDN 提供

WCF基础知识

[学习背景] 在之前的几篇博客中,我们了解到了WCF从哪里来,什么是WCF,这篇博客,我们继续学习有关WCF的基础知识. [学习内容] 一.地址 1.地址格式 地址通常采用如下格式: [基地址] / [可选的URI] 基地址(Base Address)通常的格式如下: [传输协议] : // [机器名或域名] [:可选端口] ITOO学籍管理示例:                         含义是: 采用HTTP协议访问localhost机器,BasicStudentService服务在8

Silverlight+WCF 新手实例 象棋 主界面-事件区-游戏开始(二十七)

本专题出产简单原由: 一开始的初衷,只是想写个简单的单机BS人机对战版的,开始还下了点AI算法看看的: 但是写到最后,都写成了通讯版本的对战了,只因中间不小心看到了WCF的相关内容,顺便加了进来; 最后就定局了,反正新手实例,能加多点内容就加多点了. 关于原始初衷,后期再补上了.       好了,先上几个附加索引: 1:Silverlight+WCF 新手实例 象棋 在线演示 2:Silverlight+WCF 简单部署问题集 3:Silverlight4 ListBox bug 4:Silv

《WCF技术内幕》翻译18:第1部分_第4章_WCF101:从外部剖析WCF

尽管WCF是一个相当复杂的平台,但对于偶然的一个学习者来说它看起来还是 相当简单的.正如你在Hello WC例子里看到的一样,构建一个接受程序可以简化 为使用地址.绑定和契约配置一个或者多个终结点.构建一个发送程序可以简单 理解为使用一个地址.绑定和契约向接收终结点发送消息.如果我们要修改发送 者或者接收者的处理过程,我们可以随便这么做,使用我们自己的行为配置或者 使用WCF的自带行为(比如增加元数据支持).图4-1展示了Endpoints. addresses.bindings.contrac

初识WCF之使用配置文件部署WCF应用程序

     二月份的开头,小编依旧继续着项目开发之路,开始接触全新的知识,EF,WCF,MVC等,今天小编来简单的总结一下有关于WCF的基础知识,学习之前,小编自己给自己提了两个问题,WCF是什么?WCF能用来做什么?WCF具有哪些优点?带着这样的问题,小编开始进行了一番搜索,一下是小编整理的结果.         WCF是什么?         WCF(Windows Communication Foundation)是用于构建面向服务的应用程序的框架 ,是由微软发展的一组数据通信的应用程序开发

在Windows Azure上部署WCF服务

本文将引导大家达成第一种功能:在Windows Azure上部署服务.后续文章将会介绍另两种功能.事实上,在Windows Azure入门教学系列 (一): 创建第一个WebRole程序里,大家已经尝试过部署一个最简单的服务:一个ASP.NET网站.是的,ASP.NET网站也可以称作一种服务.现在,你的ASP.NET程序不再是运行在你自己的服务器上,而是运行在云端了.但是,Windows Azure不仅仅支持常规网站,我们也完全可以把那些和用户界面无关的服务(headless services)