Freigeben über


MessageHandlerBase Klasse

Definition

Eine abstrakte Basisklasse für das Senden und Empfangen von Nachrichten.

public abstract class MessageHandlerBase : IDisposable, Microsoft.IDisposableObservable, StreamJsonRpc.IJsonRpcMessageHandler
public abstract class MessageHandlerBase : IDisposable, Microsoft.IDisposableObservable, Microsoft.VisualStudio.Threading.IAsyncDisposable, StreamJsonRpc.IJsonRpcMessageHandler
type MessageHandlerBase = class
    interface IJsonRpcMessageHandler
    interface IDisposableObservable
    interface IDisposable
type MessageHandlerBase = class
    interface IJsonRpcMessageHandler
    interface IDisposableObservable
    interface IDisposable
    interface IAsyncDisposable
Public MustInherit Class MessageHandlerBase
Implements IDisposable, IDisposableObservable, IJsonRpcMessageHandler
Public MustInherit Class MessageHandlerBase
Implements IAsyncDisposable, IDisposable, IDisposableObservable, IJsonRpcMessageHandler
Vererbung
MessageHandlerBase
Abgeleitet
Implementiert

Hinweise

Diese Klasse und ihre Derivate sind sicher, von jedem Thread aus aufrufen zu können. Aufrufe werden WriteAsync(JsonRpcMessage, CancellationToken) durch ein Semaphor geschützt, um die Nachrichtenintegrität zu gewährleisten und von jedem Thread aus vorgenommen werden. Der Anrufer muss darauf achten, sequenziell aufzurufen ReadAsync(CancellationToken) .

Konstruktoren

MessageHandlerBase(IJsonRpcMessageFormatter)

Initialisiert eine neue Instanz der MessageHandlerBase-Klasse.

Eigenschaften

CanRead

Ruft einen Wert ab, der angibt, ob dieser Nachrichtenhandler Nachrichten empfangen kann.

CanWrite

Ruft einen Wert ab, der angibt, ob dieser Nachrichtenhandler Nachrichten senden kann.

DisposalToken

Ruft ein Token ab, das abgebrochen wird, wenn diese Instanz verworfen wird.

Formatter

Ruft den Formatierer ab, der für die Serialisierung von Nachrichten verwendet wird.

Methoden

Dispose()
Veraltet.

Löscht diese Instanz und bricht alle ausstehenden Lese- oder Schreibvorgänge ab.

Dispose(Boolean)

Entfernt Ressourcen, die von dieser Instanz zugeordnet sind, die sowohl zum Lesen als auch zum Schreiben verwendet werden.

DisposeAsync()

Löscht diese Instanz und bricht alle ausstehenden Lese- oder Schreibvorgänge ab.

DisposeReader()

Entfernt Ressourcen, die von dieser Instanz zugewiesen werden, die zum Lesen (nicht schreiben) verwendet werden.

DisposeWriter()

Entfernt Ressourcen, die von dieser Instanz zugewiesen werden, die zum Schreiben (nicht lesen) verwendet werden.

FlushAsync(CancellationToken)

Stellt sicher, dass alle nachrichten, die an diesen Punkt übertragen werden, an ihr Ziel weitergeleitet werden, anstatt in einem lokalen Puffer zu sitzen.

ReadAsync(CancellationToken)

Liest eine eindeutige und vollständige Nachricht vom Transport, die bei Bedarf auf eine wartet.

ReadCoreAsync(CancellationToken)

Liest eine eindeutige und vollständige Nachricht, die bei Bedarf auf eine wartet.

WriteAsync(JsonRpcMessage, CancellationToken)

Schreibt eine Nachricht in den Transport und löscht sie.

WriteCoreAsync(JsonRpcMessage, CancellationToken)

Schreibt eine Nachricht.

Explizite Schnittstellenimplementierungen

IDisposableObservable.IsDisposed

Ruft einen Wert ab, der angibt, ob diese Instanz verworfen wurde.

Gilt für: