MessageBuffer MessageBuffer MessageBuffer MessageBuffer Class

Definition

Stellt einen Arbeitsspeicherpuffer dar, der eine gesamte Nachricht zur zukünftigen Verwendung speichert.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
Vererbung
MessageBufferMessageBufferMessageBufferMessageBuffer
Implementiert

Hinweise

Der Text einer Message-Instanz kann nur einmal verwendet oder geschrieben werden.The body of a Message instance can only be consumed or written once. Wenn eine Message-Instanz mehr als einmal verwendet werden soll, sollten Sie die MessageBuffer-Klasse verwenden, um eine gesamte Message-Instanz vollständig im Arbeitsspeicher zu speichern.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.

Eine MessageBuffer-Instanz wird durch Aufrufen von CreateBufferedCopy einer Message-Instanz konstruiert.A MessageBuffer instance is constructed by calling CreateBufferedCopy of a Message instance. Es wird dann ein neuer MessageBuffer erstellt und zurückgegeben, der zum Besitzer der Message wird und den gesamten Inhalt in den Arbeitsspeicher einliest.A new MessageBuffer is then created and returned, which assumes ownership of the Message and reads the entire content into memory.

Um eine Kopie einer Message aus dem MessageBuffer abzurufen, müssen Sie die CreateMessage-Methode vonMessageBuffer aufrufen.In order to retrieve a copy of a Message from the MessageBuffer, you must call the CreateMessage method of the MessageBuffer. Hierdurch wird eine identische Kopie der ursprünglich von Ihnen bereitgestellten Message-Instanz zurückgegeben.This returns an identical copy of the original Message instance you provided.

Sie können die maximale Größe des Puffers steuern, indem Sie BufferSize auf die maximal gewünschte Anzahl von Byte festlegen.You can control the maximum size of the buffer by setting BufferSize to the maximum number of bytes desired. Diese Zahl deckt nicht unbedingt alle flüchtigen Zuweisungen, die sich auf die Erstellung des Puffers beziehen, oder die mit der Nachricht verknüpften Eigenschaften ab.This number does not necessarily cover any transient allocations related to building the buffer, or properties attached to the message.

Sie sollten eine MessageBuffer-Instanz immer schließen, indem Sie Close aufrufen, wenn sie nicht weiter benötigt wird.You should always close a MessageBuffer instance by calling Close when finished working with it. Dadurch können Systemressourcen möglicherweise früher freigegeben werden.This allows system resources to potentially be freed sooner.

Spezieller Hinweis für Benutzer von Managed C++, die von dieser Klasse ableiten:Special note for Managed C++ users deriving from this class:

  • Fügen Sie den Bereinigungscode in (On)(Begin)Close (and/or OnAbort) ein, nicht in einen Destruktor.Put your cleanup code in (On)(Begin)Close (and/or OnAbort), not in a destructor.

  • Vermeiden Sie Destruktoren: Sie bewirken, dass der Compiler IDisposable automatisch generiert.Avoid destructors: they cause the compiler to auto-generate IDisposable

  • Vermeiden Sie Member ohne Verweis: Sie können bewirken, dass der Compiler IDisposable automatisch generiert.Avoid non-reference members: they can cause the compiler to auto-generate IDisposable

  • Vermeiden Sie Finalizer. Wenn Sie dennoch einen Finalizer verwenden, sollten Sie die Buildwarnung unterdrücken und SuppressFinalize(Object) sowie den Finalizer über (On)(Begin)Close (and/or OnAbort) aufrufen, um das ansonsten automatisch generierte IDisposable-Verhalten zu emulieren.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.

Konstruktoren

MessageBuffer() MessageBuffer() MessageBuffer() MessageBuffer()

Initialisiert eine neue Instanz der MessageBuffer-Klasse.Initializes a new instance of the MessageBuffer class.

Eigenschaften

BufferSize BufferSize BufferSize BufferSize

Ruft die ungefähre Anzahl von Byte ab, die von diesem MessageBuffer verwendet werden.Gets the approximate number of bytes consumed by this MessageBuffer.

MessageContentType MessageContentType MessageContentType MessageContentType

Ruft den Typ des in diesem Puffer gespeicherten Meldungsinhalts ab.Gets the type of message content stored in this buffer.

Methoden

Close() Close() Close() Close()

Beendet die Arbeit mit dem Puffer.Finishes working with the buffer.

CreateMessage() CreateMessage() CreateMessage() CreateMessage()

Gibt eine Kopie der ursprünglichen Nachrichten zurück.Returns a copy of the original message.

CreateNavigator() CreateNavigator() CreateNavigator() CreateNavigator()

Erstellt ein neues XPathNavigator-Objekt zum Navigieren in diesem Objekt.Creates a new XPathNavigator object for navigating this object. Diese Methode kann nicht vererbt werden.This method cannot be inherited.

CreateNavigator(Int32) CreateNavigator(Int32) CreateNavigator(Int32) CreateNavigator(Int32)

Erstellt ein neues XPathNavigator-Objekt zum Navigieren in diesem Objekt, wenn der Navigator auf dem angegebenen Knoten positioniert ist.Creates a new XPathNavigator object for navigating this object, with the navigator positioned on the node specified.

CreateNavigator(Int32, XmlSpace) CreateNavigator(Int32, XmlSpace) CreateNavigator(Int32, XmlSpace) CreateNavigator(Int32, XmlSpace)

Erstellt ein neues XPathNavigator-Objekt zum Navigieren in diesem Objekt, wenn der Navigator auf dem angegebenen Knoten positioniert und im xml:space-Bereich ist.Creates a new XPathNavigator object for navigating this object, with the navigator positioned on the specified node and xml:space scope.

CreateNavigator(XmlSpace) CreateNavigator(XmlSpace) CreateNavigator(XmlSpace) CreateNavigator(XmlSpace)

Erstellt ein neues XPathNavigator-Objekt zum Navigieren in diesem Objekt, mit dem angegebenen xml:space-Bereich.Creates a new XPathNavigator object for navigating this object, with the specified xml:space scope.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)
WriteMessage(Stream) WriteMessage(Stream) WriteMessage(Stream) WriteMessage(Stream)

Schreibt den gesamten Inhalt dieses Puffers in den angegebenen E/A-Stream.Writes the entire content of this buffer to the specified IO stream.

Explizite Schnittstellenimplementierungen

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

Gibt die von MessageBuffer verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.Releases the unmanaged resources used by the MessageBuffer and optionally releases the managed resources. Diese Methode kann nicht vererbt werden.This method cannot be inherited.

Gilt für: