MessageBuffer MessageBuffer MessageBuffer MessageBuffer Class

Definizione

Rappresenta un buffer di memoria nel quale viene archiviato un intero messaggio per un utilizzo futuro.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
Ereditarietà
MessageBufferMessageBufferMessageBufferMessageBuffer
Implementazioni

Commenti

Il corpo di un'istanza Message è può essere utilizzato o scritto una sola volta.The body of a Message instance can only be consumed or written once. Se si desidera utilizzare un'istanza Message più volte, è necessario utilizzare la classe MessageBuffer per archiviare completamente un'intera istanza Message nella memoria.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.

Un'istanza MessageBuffer viene costruita chiamando il metodo CreateBufferedCopy di un'istanza Message.A MessageBuffer instance is constructed by calling CreateBufferedCopy of a Message instance. Viene quindi creata e restituita una nuova classe MessageBuffer che presuppone la proprietà della classe Message e legge l'intero contenuto nella memoria.A new MessageBuffer is then created and returned, which assumes ownership of the Message and reads the entire content into memory.

Per recuperare una copia di una classe Message dalla classe MessageBuffer, è necessario chiamare il metodo CreateMessage della classe MessageBuffer.In order to retrieve a copy of a Message from the MessageBuffer, you must call the CreateMessage method of the MessageBuffer. Restituisce una copia identica dell'istanza Message originale fornita.This returns an identical copy of the original Message instance you provided.

È possibile controllare la dimensione massima del buffer impostando la proprietà BufferSize sul numero massimo di byte desiderato.You can control the maximum size of the buffer by setting BufferSize to the maximum number of bytes desired. Questo numero non comprende necessariamente allocazioni temporanee relative alla compilazione del buffer o proprietà associate al messaggio.This number does not necessarily cover any transient allocations related to building the buffer, or properties attached to the message.

Quando un'istanza MessageBuffer non viene più utilizzata, è necessario chiuderla sempre chiamando Close .You should always close a MessageBuffer instance by calling Close when finished working with it. In tal modo è possibile che le risorse di sistema vengano potenzialmente sbloccate prima.This allows system resources to potentially be freed sooner.

Nota speciale in caso di derivazione da questa classe in C++ gestito:Special note for Managed C++ users deriving from this class:

  • Inserire il codice di pulizia in (On)(Begin)Close (e/o OnAbort), non in un distruttore.Put your cleanup code in (On)(Begin)Close (and/or OnAbort), not in a destructor.

  • Evitare i distruttori: comportano la generazione automatica dell'interfaccia IDisposable da parte del compilatoreAvoid destructors: they cause the compiler to auto-generate IDisposable

  • Evitare membri di non riferimento: possono comportare la generazione automatica dell'interfaccia IDisposable da parte del compilatoreAvoid non-reference members: they can cause the compiler to auto-generate IDisposable

  • Evitare i finalizzatori. Se tuttavia si include un finalizzatore, è necessario annullare l'avviso di compilazione e chiamare il metodo SuppressFinalize(Object) e il finalizzatore stesso mediante (On)(Begin)Close (e/o OnAbort) al fine di emulare il comportamento dell'interfaccia IDisposable che sarebbe stata generata automaticamente.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.

Costruttori

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

Inizializza una nuova istanza della classe MessageBuffer.Initializes a new instance of the MessageBuffer class.

Proprietà

BufferSize BufferSize BufferSize BufferSize

Ottiene il numero approssimativo di byte utilizzati da questa istanza MessageBuffer.Gets the approximate number of bytes consumed by this MessageBuffer.

MessageContentType MessageContentType MessageContentType MessageContentType

Ottiene il tipo di contenuto dei messaggi archiviati in questo buffer.Gets the type of message content stored in this buffer.

Metodi

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

Finisce di utilizzare il buffer.Finishes working with the buffer.

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

Restituisce una copia del messaggio originale.Returns a copy of the original message.

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

Crea un nuovo oggetto XPathNavigator per spostarsi in questo oggetto.Creates a new XPathNavigator object for navigating this object. Questo metodo non può essere ereditato.This method cannot be inherited.

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

Crea un nuovo oggetto XPathNavigator per spostarsi in questo oggetto, con lo strumento di spostamento posizionato sul nodo specificato.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)

Crea un nuovo oggetto XPathNavigator per spostarsi in questo oggetto, con lo strumento di spostamento posizionato sul nodo e nell'ambito xml:space specificati.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)

Crea un nuovo oggetto XPathNavigator per spostarsi in questo oggetto, con l'ambito xml:space specificato.Creates a new XPathNavigator object for navigating this object, with the specified xml:space scope.

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

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

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

Funge da funzione hash predefinita.Serves as the default hash function.

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

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

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

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

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

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

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

Scrive l'intero contenuto di questo buffer nel flusso I/O specificato.Writes the entire content of this buffer to the specified IO stream.

Implementazioni dell'interfaccia esplicita

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

Rilascia le risorse non gestite usate da MessageBuffer e, facoltativamente, le risorse gestite.Releases the unmanaged resources used by the MessageBuffer and optionally releases the managed resources. Questo metodo non può essere ereditato.This method cannot be inherited.

Si applica a