MessageHandlerBase Klasse

Definition

Eine abstrakte Basisklasse zum 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 Ableitungen sind sicher, von jedem Thread aus aufzurufen. Aufrufe an WriteAsync(JsonRpcMessage, CancellationToken) werden durch ein Semaphor geschützt, um die Nachrichtenintegrität zu garantieren und können von jedem Thread aus getätigt werden. Der Anrufer muss sich darum kümmern, sequenziell aufzurufen ReadAsync(CancellationToken) .

Konstruktoren

Name Beschreibung
MessageHandlerBase(IJsonRpcMessageFormatter)

Initialisiert eine neue Instanz der MessageHandlerBase-Klasse.

Eigenschaften

Name Beschreibung
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 Für die Nachrichten serialisierung verwendeten Formatierer ab.

Methoden

Name Beschreibung
Dispose()
Veraltet.

Entfernt diese Instanz und bricht alle ausstehenden Lese- oder Schreibvorgänge ab.

Dispose(Boolean)

Entfernt Ressourcen, die von dieser Instanz zugeordnet sind, die sowohl lese- als auch schreibvorgängen gemeinsam sind.

DisposeAsync()

Entfernt 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 verwendet werden (nicht lesen).

FlushAsync(CancellationToken)

Stellt sicher, dass alle bis zu diesem Punkt übertragenen Nachrichten an ihr Ziel weitergeleitet werden, anstatt in einem lokalen Puffer zu sitzen.

ReadAsync(CancellationToken)

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

ReadCoreAsync(CancellationToken)

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

WriteAsync(JsonRpcMessage, CancellationToken)

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

WriteCoreAsync(JsonRpcMessage, CancellationToken)

Schreibt eine Nachricht.

Explizite Schnittstellenimplementierungen

Name Beschreibung
IDisposableObservable.IsDisposed

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

Gilt für: