MessageBuffer 类

定义

表示一个内存缓冲区,该内存缓冲区存储了未来要使用的整个消息。

public ref class MessageBuffer abstract : IDisposable
public ref class MessageBuffer abstract : IDisposable, System::Xml::XPath::IXPathNavigable
public abstract class MessageBuffer : IDisposable
public abstract class MessageBuffer : IDisposable, System.Xml.XPath.IXPathNavigable
type MessageBuffer = class
    interface IDisposable
type MessageBuffer = class
    interface IXPathNavigable
    interface IDisposable
Public MustInherit Class MessageBuffer
Implements IDisposable
Public MustInherit Class MessageBuffer
Implements IDisposable, IXPathNavigable
继承
MessageBuffer
实现

注解

Message 实例的正文只可使用或写入一次。 如果希望不止一次使用 Message 实例,则应该使用 MessageBuffer 类将整个 Message 实例全部存储到内存。

MessageBuffer 实例是通过调用 CreateBufferedCopy 实例的 Message 构造的。 然后会创建并返回一个新的 MessageBuffer,它将获得对 Message 的所有权,并将整个内容读取到内存。

为了从 Message 检索 MessageBuffer 的副本,必须调用 CreateMessageMessageBuffer 方法。 这会返回您所提供的原始 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 范围的导航器,创建一个用于定位此对象的新 xml:space 对象。

CreateNavigator(XmlSpace)

在指定的 XPathNavigator 范围,创建一个用于定位此对象的新 xml:space 对象。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)
WriteMessage(Stream)

将此缓冲区中的整个内容写入指定的 IO 流。

显式接口实现

IDisposable.Dispose()

释放由 MessageBuffer 占用的非托管资源,还可以另外再释放托管资源。 无法继承此方法。

适用于