技术开发 频道

使用定制WCF MessageEncoder进行编码



三、实例
    在本例中使用XmlDocument类打开一个XML文件,并将XmlDocument转换成字节,并从这些字节建立一个Message类,最后将Message类复制到另一个XmlDocument类。在我们看这个例子之前,有一些事情需要考虑。
    本文除了给出建立自己的MessageEncoder类的例子外,并提供了一个虚拟的案例及解决方案。 一般来讲,MessageEncoder被嵌入到一个WCF中。按着规定,一个MessageEncoder类存在于一个传输通道类中。
    现在有很多方法用于将传输过程中的字节转换为Message类。但本文的目的并不是介绍所有的工具和方法,因此,在我们深入研究代码之前先介绍一此主要的工具。
   
四、工具介绍
    在.NET中操作XML数据主要使用XmlReader和XmlWriter类。XmlReaders和XmlWriters支持各种功能,这些功能如下:

1. 可以对类分别设计它们核对一致性、包括空格、以及指定一个特殊的编码格式。
2. 读写XML数据,并可以高效地导航XML数据。
3. 从类流中读取XML。

XmlDictionalReader 和XmlDictionaryWriter类用于创建支持WCF新特性的XmlReader
和XmlWriter对象实例。
    XslCompiledTransformation是一个新的.NET2.0组件,它用于实现.NET XSLT转换功能。XSLT主要用来将一个特殊的XML文档转换为一些其他的表现形式。   
    MessageEncoder可以处理大数据量的工作。对于一个应用程序来说,分配大容量的内存空间可能成为应用程序的瓶颈。因此,WCF利用一个叫MessageBuffer的类来控制和管理预分配内存池。   
    MessageEncoder
可以和.NET流一起工作。流是一些用于操作位于不同空间(如文件系统、内存或网络)字节的类。所有的流都有一个共同的基类来完成最常用的操作。
    下面就让我们来深入研究本文提供的例子,并学习如何使用上述的工具来工作。
0
相关文章