MessageBuffer 类 
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示一个内存缓冲区,该内存缓冲区存储了未来要使用的整个消息。
public ref class MessageBuffer abstract : IDisposablepublic ref class MessageBuffer abstract : IDisposable, System::Xml::XPath::IXPathNavigablepublic abstract class MessageBuffer : IDisposablepublic abstract class MessageBuffer : IDisposable, System.Xml.XPath.IXPathNavigabletype MessageBuffer = class
    interface IDisposabletype MessageBuffer = class
    interface IXPathNavigable
    interface IDisposablePublic MustInherit Class MessageBuffer
Implements IDisposablePublic MustInherit Class MessageBuffer
Implements IDisposable, IXPathNavigable- 继承
- 
				MessageBuffer
- 实现
注解
Message 实例的正文只可使用或写入一次。 如果希望不止一次使用 Message 实例,则应该使用 MessageBuffer 类将整个 Message 实例全部存储到内存。
MessageBuffer 实例是通过调用 CreateBufferedCopy 实例的 Message 构造的。 然后会创建并返回一个新的 MessageBuffer,它将获得对 Message 的所有权,并将整个内容读取到内存。
为了从 Message 检索 MessageBuffer 的副本,必须调用 CreateMessage 的 MessageBuffer 方法。 这会返回您所提供的原始 Message 实例的相同副本。
可以通过将 BufferSize 设置为所需的最大字节数来控制缓冲区的最大大小。 这个最大数无需包含任何与生成缓冲区相关的瞬态分配或附加到消息的属性。
每次使用完 MessageBuffer 实例后,您都应该调用 Close 以关闭该实例。 这可能会允许更快地释放系统资源。
针对从此类派生的托管 C++ 用户的特别说明:
- 将清理代码放入 (On)(Begin)Close(和/或 OnAbort)中,而不是放入析构函数中。 
- 避免使用析构函数:它们会导致编译器自动生成 IDisposable 
- 避免使用非引用成员:它们可能会导致编译器自动生成 IDisposable 
- 避免使用终结器;但如果包含一个终结器,则应该禁止显示生成警告并从 (On)(Begin)Close(和/或 OnAbort)调用 SuppressFinalize(Object) 和终结器本身,以便模拟自动生成的 IDisposable 行为。 
构造函数
| MessageBuffer() | 初始化 MessageBuffer 类的新实例。 | 
属性
| BufferSize | 获取此 MessageBuffer 使用的近似字节数。 | 
| MessageContentType | 获取存储在此缓冲区中消息内容的类型。 | 
方法
| Close() | 缓冲区使用完毕。 | 
| CreateMessage() | 返回原始消息的副本。 | 
| CreateNavigator() | 创建一个用于定位此对象的新 XPathNavigator 对象。 无法继承此方法。 | 
| CreateNavigator(Int32) | 使用位于指定节点上的导航器,创建一个用于定位此对象的新 XPathNavigator 对象。 | 
| CreateNavigator(Int32, XmlSpace) | 使用位于指定节点和 XPathNavigator 范围的导航器,创建一个用于定位此对象的新  | 
| CreateNavigator(XmlSpace) | 在指定的 XPathNavigator 范围,创建一个用于定位此对象的新  | 
| Equals(Object) | 确定指定对象是否等于当前对象。(继承自 Object) | 
| GetHashCode() | 作为默认哈希函数。(继承自 Object) | 
| GetType() | 获取当前实例的 Type。(继承自 Object) | 
| MemberwiseClone() | 创建当前 Object 的浅表副本。(继承自 Object) | 
| ToString() | 返回表示当前对象的字符串。(继承自 Object) | 
| WriteMessage(Stream) | 将此缓冲区中的整个内容写入指定的 IO 流。 | 
显式接口实现
| IDisposable.Dispose() | 释放由 MessageBuffer 占用的非托管资源,还可以另外再释放托管资源。 无法继承此方法。 |