MessageBuffer Класс

Определение

Представляет буфер в памяти, в котором хранится все сообщение для последующей обработки.Represents a memory buffer that stores an entire message for future consumption.

public ref class MessageBuffer abstract : IDisposable
public abstract class MessageBuffer : IDisposable
type MessageBuffer = class
    interface IDisposable
Public MustInherit Class MessageBuffer
Implements IDisposable
Наследование
MessageBuffer
Реализации

Комментарии

Текст объекта Message может быть обработан или записан только один раз.The body of a Message instance can only be consumed or written once. Если экземпляр класса Message требуется обработать несколько раз, следует использовать класс MessageBuffer для сохранения всего экземпляра класса Message в памяти.If you wish to consume a Message instance more than once, you should use the MessageBuffer class to completely store an entire Message instance into memory.

Экземпляр класса MessageBuffer создается путем вызова метода CreateBufferedCopy экземпляра класса Message.A MessageBuffer instance is constructed by calling CreateBufferedCopy of a Message instance. При этом создается и возвращается новый экземпляр класса MessageBuffer, который подразумевает владение объектом Message и считывает все его содержимое в память.A new MessageBuffer is then created and returned, which assumes ownership of the Message and reads the entire content into memory.

Чтобы извлечь копию объекта Message из объекта MessageBuffer, необходимо вызвать метод CreateMessage объекта MessageBuffer.In order to retrieve a copy of a Message from the MessageBuffer, you must call the CreateMessage method of the MessageBuffer. При этом возвращается идентичная копия исходного экземпляра класса Message.This returns an identical copy of the original Message instance you provided.

Максимальный размер буфера устанавливается путем задания для свойства BufferSize значения, равного максимальному размеру буфера в байтах.You can control the maximum size of the buffer by setting BufferSize to the maximum number of bytes desired. Это число не обязательно должно покрывать все временные распределения памяти, связанные с созданием буфера или свойствами, прикрепленными к сообщению.This number does not necessarily cover any transient allocations related to building the buffer, or properties attached to the message.

Следует всегда закрывать экземпляр класса MessageBuffer с помощью метода Close по окончании работы с этим объектом.You should always close a MessageBuffer instance by calling Close when finished working with it. Потенциально это позволяет освободить системные ресурсы быстрее.This allows system resources to potentially be freed sooner.

Особое примечание для пользователей управляемого кода C++, создающих классы, унаследованные от данного.Special note for Managed C++ users deriving from this class:

  • Поместите код очистки в блок (On)(Begin)Close (или OnAbort), а не в деструктор.Put your cleanup code in (On)(Begin)Close (and/or OnAbort), not in a destructor.

  • Избегайте использования деструкторов, поскольку они приводят к тому, что компилятор автоматически создает IDisposable.Avoid destructors: they cause the compiler to auto-generate IDisposable

  • Избегайте использования нессылочных членов, поскольку они приводят к тому, что компилятор автоматически создает IDisposable.Avoid non-reference members: they can cause the compiler to auto-generate IDisposable

  • Избегайте использования методов завершения. При включении этого метода необходимо подавить предупреждение построения и вызвать SuppressFinalize(Object) и сам метод завершения из блока (On)(Begin)Close (или OnAbort) для эмуляции того, каким было бы поведение IDisposable, созданное автоматически.Avoid finalizers; but if you include one, you should suppress the build warning and call SuppressFinalize(Object) and the finalizer itself from (On)(Begin)Close (and/or OnAbort) in order to emulate what would have been the auto-generated IDisposable behavior.

Конструкторы

MessageBuffer()

Инициализирует новый экземпляр класса MessageBuffer.Initializes a new instance of the MessageBuffer class.

Свойства

BufferSize

Возвращает приблизительное число байтов, используемое этим объектом MessageBuffer.Gets the approximate number of bytes consumed by this MessageBuffer.

MessageContentType

Возвращает тип содержимого сообщения, сохраненного в этом буфере.Gets the type of message content stored in this buffer.

Методы

Close()

Завершает работу с буфером.Finishes working with the buffer.

CreateMessage()

Возвращает копию исходного сообщения.Returns a copy of the original message.

CreateNavigator()

Создает новый объект XPathNavigator для навигации по данному объекту.Creates a new XPathNavigator object for navigating this object. Наследовать этот метод нельзя.This method cannot be inherited.

CreateNavigator(Int32)

Создает новый объект XPathNavigator для навигации по данному объекту с позиционированием на указанном узле.Creates a new XPathNavigator object for navigating this object, with the navigator positioned on the node specified.

CreateNavigator(Int32, XmlSpace)

Создает новый объект XPathNavigator для навигации по данному объекту с позиционированием на указанном узле и в области xml:space.Creates a new XPathNavigator object for navigating this object, with the navigator positioned on the specified node and xml:space scope.

CreateNavigator(XmlSpace)

Создает новый объект XPathNavigator для навигации по данному объекту с позиционированием в указанной области xml:space.Creates a new XPathNavigator object for navigating this object, with the specified xml:space scope.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetHashCode()

Служит в качестве хэш-функции по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)
WriteMessage(Stream)

Записывает все содержимое данного буфера в указанный поток ввода-вывода.Writes the entire content of this buffer to the specified IO stream.

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

IDisposable.Dispose()

Освобождает неуправляемые ресурсы, используемые объектом MessageBuffer, а при необходимости освобождает также управляемые ресурсы.Releases the unmanaged resources used by the MessageBuffer and optionally releases the managed resources. Наследовать этот метод нельзя.This method cannot be inherited.

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