MessageHandlerBase Classe

Definizione

Classe base astratta per l'invio e la ricezione di messaggi.

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
Ereditarietà
MessageHandlerBase
Derivato
Implementazioni

Commenti

Questa classe e i suoi derivati sono sicuri da chiamare da qualsiasi thread. Le chiamate a WriteAsync(JsonRpcMessage, CancellationToken) sono protette da un semaforo per garantire l'integrità dei messaggi e possono essere effettuate da qualsiasi thread. Il chiamante deve prendersi cura di chiamare ReadAsync(CancellationToken) in sequenza.

Costruttori

Nome Descrizione
MessageHandlerBase(IJsonRpcMessageFormatter)

Inizializza una nuova istanza della classe MessageHandlerBase.

Proprietà

Nome Descrizione
CanRead

Ottiene un valore che indica se questo gestore di messaggi può ricevere messaggi.

CanWrite

Ottiene un valore che indica se questo gestore di messaggi può inviare messaggi.

DisposalToken

Ottiene un token annullato quando questa istanza viene eliminata.

Formatter

Ottiene il formattatore utilizzato per la serializzazione dei messaggi.

Metodi

Nome Descrizione
Dispose()
Obsoleti.

Elimina questa istanza e annulla tutte le operazioni di lettura o scrittura in sospeso.

Dispose(Boolean)

Elimina le risorse allocate da questa istanza comuni sia alla lettura che alla scrittura.

DisposeAsync()

Elimina questa istanza e annulla tutte le operazioni di lettura o scrittura in sospeso.

DisposeReader()

Elimina le risorse allocate da questa istanza usate per la lettura (non per la scrittura).

DisposeWriter()

Elimina le risorse allocate da questa istanza usate per la scrittura (non in lettura).

FlushAsync(CancellationToken)

Assicura che tutti i messaggi trasmessi fino a questo punto siano instradati alla destinazione, anziché seduti in un buffer locale.

ReadAsync(CancellationToken)

Legge un messaggio distinto e completo dal trasporto, in attesa di uno, se necessario.

ReadCoreAsync(CancellationToken)

Legge un messaggio distinto e completo, in attesa di uno, se necessario.

WriteAsync(JsonRpcMessage, CancellationToken)

Scrive un messaggio nel trasporto e scarica.

WriteCoreAsync(JsonRpcMessage, CancellationToken)

Scrive un messaggio.

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IDisposableObservable.IsDisposed

Ottiene un valore che indica se questa istanza è stata eliminata.

Si applica a