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, необходимо вызвать метод CreateMessage объекта MessageBuffer. При этом возвращается идентичная копия исходного экземпляра класса Message.

Максимальный размер буфера устанавливается путем задания для свойства BufferSize значения, равного максимальному размеру буфера в байтах. Это число не обязательно должно покрывать все временные распределения памяти, связанные с созданием буфера или свойствами, прикрепленными к сообщению.

Следует всегда закрывать экземпляр класса MessageBuffer с помощью метода Close по окончании работы с этим объектом. Потенциально это позволяет освободить системные ресурсы быстрее.

Особое примечание для пользователей управляемого кода C++, создающих классы, унаследованные от данного.

  • Поместите код очистки в блок (On)(Begin)Close (или OnAbort), а не в деструктор.

  • Избегайте использования деструкторов, поскольку они приводят к тому, что компилятор автоматически создает IDisposable.

  • Избегайте использования нессылочных членов, поскольку они приводят к тому, что компилятор автоматически создает IDisposable.

  • Избегайте использования методов завершения. При включении этого метода необходимо подавить предупреждение построения и вызвать SuppressFinalize(Object) и сам метод завершения из блока (On)(Begin)Close (или OnAbort) для эмуляции того, каким было бы поведение 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)

Записывает все содержимое данного буфера в указанный поток ввода-вывода.

Явные реализации интерфейса

IDisposable.Dispose()

Освобождает неуправляемые ресурсы, используемые объектом MessageBuffer, а при необходимости освобождает также управляемые ресурсы. Этот метод не может быть унаследован.

Применяется к