Condividi tramite


JsonRpc Classe

Definizione

Gestisce una connessione JSON-RPC con un'altra entità su un Streamoggetto .

public class JsonRpc : IDisposable, Microsoft.IDisposableObservable
public class JsonRpc : IDisposable, Microsoft.IDisposableObservable, StreamJsonRpc.Reflection.IJsonRpcFormatterCallbacks, StreamJsonRpc.Reflection.IJsonRpcTracingCallbacks
type JsonRpc = class
    interface IDisposableObservable
    interface IDisposable
type JsonRpc = class
    interface IDisposableObservable
    interface IDisposable
    interface IJsonRpcFormatterCallbacks
    interface IJsonRpcTracingCallbacks
Public Class JsonRpc
Implements IDisposable, IDisposableObservable
Public Class JsonRpc
Implements IDisposable, IDisposableObservable, IJsonRpcFormatterCallbacks, IJsonRpcTracingCallbacks
Ereditarietà
JsonRpc
Implementazioni

Costruttori

JsonRpc(DelimitedMessageHandler, Object)

Inizializza una nuova istanza della classe JsonRpc.

JsonRpc(IJsonRpcMessageHandler)

Inizializza una nuova istanza della classe JsonRpc.

JsonRpc(IJsonRpcMessageHandler, Object)

Inizializza una nuova istanza della classe JsonRpc.

JsonRpc(Stream)

Inizializza una nuova istanza della JsonRpc classe che usa i HeaderDelimitedMessageHandler messaggi serializzati usando .JsonMessageFormatter

JsonRpc(Stream, Stream, Object)

Inizializza una nuova istanza della JsonRpc classe che usa i HeaderDelimitedMessageHandler messaggi serializzati usando .JsonMessageFormatter

Proprietà

ActivityTracingStrategy

Ottiene o imposta la strategia per la propagazione degli ID attività su RPC.

AllowModificationWhileListening

Ottiene o imposta un valore che indica se la configurazione di questa istanza può essere modificata dopo StartListening() o Attach(Stream, Object) chiamata.

CancellationStrategy

Ottiene o imposta la strategia di annullamento da usare.

CancelLocallyInvokedMethodsWhenConnectionIsClosed

Ottiene o imposta un valore che indica se annullare tutti i metodi inviati in locale che accettano una CancellationToken quando la connessione con la parte remota viene chiusa.

Completion

Ottiene un Task oggetto che viene completato quando questa istanza viene eliminata o quando l'ascolto viene arrestato in caso di errore, eliminazione o chiusura del flusso.

DispatchCompletion

Ottiene un oggetto Task che viene completato quando non vengono eseguiti metodi di destinazione locali da una chiamata RPC.

Encoding

Ottiene o imposta la codifica da usare per i messaggi JSON trasmessi.

ExceptionStrategy

Ottiene o imposta un valore che indica se le eccezioni generate dal server RPC devono essere completamente serializzate per il client RPC in modo da deserializzare.

IsDisposed

Gestisce una connessione JSON-RPC con un'altra entità su un Streamoggetto .

JsonSerializer

Ottiene l'oggetto usato durante la JsonSerializer serializzazione e la deserializzazione degli argomenti del metodo e i valori restituiti.

JsonSerializerFormatting

Ottiene o imposta la formattazione da usare durante la serializzazione dei messaggi JSON-RPC.

MessageHandler

Ottiene il gestore messaggi usato per inviare e ricevere messaggi.

SynchronizationContext

Ottiene o imposta l'oggetto SynchronizationContext da usare quando richiama i metodi richiesti dalla parte remota.

TraceSource

Ottiene o imposta l'oggetto TraceSource usato per tracciare messaggi e eventi JSON-RPC.

Metodi

AddLocalRpcMethod(MethodInfo, Object, JsonRpcMethodAttribute)

Aggiunge un gestore per un metodo RPC con un nome specificato.

AddLocalRpcMethod(String, Delegate)

Aggiunge un gestore per un metodo RPC con un nome specificato.

AddLocalRpcMethod(String, MethodInfo, Object)

Aggiunge un gestore per un metodo RPC con un nome specificato.

AddLocalRpcTarget(Object)

Aggiunge la destinazione specificata come possibile oggetto da richiamare quando vengono ricevuti i messaggi in ingresso. L'oggetto di destinazione non deve ereditare tra loro e viene richiamato nell'ordine in cui vengono aggiunti.

AddLocalRpcTarget(Object, JsonRpcTargetOptions)

Aggiunge la destinazione specificata come possibile oggetto da richiamare quando vengono ricevuti i messaggi in ingresso. L'oggetto di destinazione non deve ereditare tra loro e viene richiamato nell'ordine in cui vengono aggiunti.

AddLocalRpcTarget(Type, Object, JsonRpcTargetOptions)

Gestisce una connessione JSON-RPC con un'altra entità su un Streamoggetto .

AddLocalRpcTarget<T>(T, JsonRpcTargetOptions)

Gestisce una connessione JSON-RPC con un'altra entità su un Streamoggetto .

AddRemoteRpcTarget(JsonRpc)

Aggiunge una connessione rpc remota in modo che le chiamate possano essere inoltrate alla destinazione remota se le destinazioni locali non lo gestiscono.

Attach(Stream, Object)

Inizializza una nuova istanza della classe che usa HeaderDelimitedMessageHandler i messaggi serializzati usando e avvia immediatamente l'ascolto.JsonRpcJsonMessageFormatter

Attach(Stream, Stream, Object)

Inizializza una nuova istanza della classe che usa HeaderDelimitedMessageHandler i messaggi serializzati usando e avvia immediatamente l'ascolto.JsonRpcJsonMessageFormatter

Attach(Type)

Crea un proxy client JSON-RPC conforme all'interfaccia server specificata.

Attach(Type, JsonRpcProxyOptions)

Crea un proxy client JSON-RPC conforme all'interfaccia server specificata.

Attach<T>()

Crea un proxy client JSON-RPC conforme all'interfaccia server specificata.

Attach<T>(IJsonRpcMessageHandler)

Crea un proxy client JSON-RPC conforme all'interfaccia server specificata.

Attach<T>(IJsonRpcMessageHandler, JsonRpcProxyOptions)

Crea un proxy client JSON-RPC conforme all'interfaccia server specificata.

Attach<T>(JsonRpcProxyOptions)

Crea un proxy client JSON-RPC conforme all'interfaccia server specificata.

Attach<T>(Stream)

Crea un proxy client JSON-RPC conforme all'interfaccia server specificata.

Attach<T>(Stream, Stream)

Crea un proxy client JSON-RPC conforme all'interfaccia server specificata.

CreateErrorDetails(JsonRpcRequest, Exception)

Crea l'oggetto JsonRpcError.ErrorDetail da utilizzare come valore per la proprietà di errore da inviare al client in risposta a un'eccezione generata da un metodo RPC richiamato in locale.

CreateExceptionFromRpcError(JsonRpcRequest, JsonRpcError)

Crea un RemoteRpcException tipo (o derivato) che rappresenta i dati trovati in una risposta di errore JSON-RPC. Questo viene chiamato sul lato client per produrre l'eccezione che verrà generata al client RPC.

CreateNewRequestId()

Crea un oggetto univoco RequestId per una richiesta in uscita.

DispatchRequestAsync(JsonRpcRequest, TargetMethod, CancellationToken)

Richiama il metodo nell'oggetto di destinazione RPC locale e converte la risposta in un messaggio di risultato JSON-RPC.

Dispose()

Esegue attività definite dall'applicazione, come rilasciare o reimpostare risorse non gestite.

Dispose(Boolean)

Elimina le risorse gestite e native mantenute da questa istanza.

GetErrorDetailsDataType(JsonRpcError)

Determina il tipo a cui deve essere deserializzato l'oggetto Data per un messaggio in ingresso JsonRpcError .

GetJsonRpcMethodAttribute(String, ReadOnlySpan<ParameterInfo>)

Ottiene l'oggetto JsonRpcMethodAttribute per un metodo RPC individuato in precedenza, se presente.

InvokeAsync(String, Object)

Richiama un determinato metodo in un server JSON-RPC.

InvokeAsync(String, Object[])

Richiama un determinato metodo in un server JSON-RPC.

InvokeAsync<TResult>(String, Object)

Richiama un determinato metodo in un server JSON-RPC.

InvokeAsync<TResult>(String, Object[])

Richiama un determinato metodo in un server JSON-RPC.

InvokeCoreAsync<TResult>(Nullable<Int32>, String, IReadOnlyList<Object>, CancellationToken)

Richiama il metodo RPC specificato

InvokeCoreAsync<TResult>(Nullable<Int32>, String, IReadOnlyList<Object>, CancellationToken, Boolean)

Richiama il metodo RPC specificato

InvokeCoreAsync<TResult>(Nullable<Int64>, String, IReadOnlyList<Object>, CancellationToken)
Obsoleti.

Richiama il metodo RPC specificato.

InvokeCoreAsync<TResult>(Nullable<Int64>, String, IReadOnlyList<Object>, CancellationToken, Boolean)
Obsoleti.

Richiama un determinato metodo in un server JSON-RPC.

InvokeCoreAsync<TResult>(RequestId, String, IReadOnlyList<Object>, CancellationToken)

Richiama il metodo RPC specificato.

InvokeCoreAsync<TResult>(RequestId, String, IReadOnlyList<Object>, CancellationToken, Boolean)

Richiama il metodo RPC specificato.

InvokeCoreAsync<TResult>(RequestId, String, IReadOnlyList<Object>, IReadOnlyList<Type>, IReadOnlyDictionary<String,Type>, CancellationToken, Boolean)

Richiama un determinato metodo in un server JSON-RPC.

InvokeWithCancellationAsync(String, IReadOnlyList<Object>, CancellationToken)

Richiama un determinato metodo in un server JSON-RPC.

InvokeWithCancellationAsync(String, IReadOnlyList<Object>, IReadOnlyList<Type>, CancellationToken)

Richiama un determinato metodo in un server JSON-RPC.

InvokeWithCancellationAsync<TResult>(String, IReadOnlyList<Object>, CancellationToken)

Richiama un determinato metodo in un server JSON-RPC.

InvokeWithCancellationAsync<TResult>(String, IReadOnlyList<Object>, IReadOnlyList<Type>, CancellationToken)

Richiama un determinato metodo in un server JSON-RPC.

InvokeWithParameterObjectAsync(String, Object, CancellationToken)

Richiama un determinato metodo in un server JSON-RPC.

InvokeWithParameterObjectAsync(String, Object, IReadOnlyDictionary<String,Type>, CancellationToken)

Richiama un determinato metodo in un server JSON-RPC.

InvokeWithParameterObjectAsync<TResult>(String, Object, CancellationToken)

Richiama un determinato metodo in un server JSON-RPC.

InvokeWithParameterObjectAsync<TResult>(String, Object, IReadOnlyDictionary<String,Type>, CancellationToken)

Richiama un determinato metodo in un server JSON-RPC.

IsFatalException(Exception)

Indica se la connessione deve essere chiusa quando il server genera un'eccezione.

LoadType(String, String)

Tenta di caricare un tipo in base al nome completo e eventualmente al nome dell'assembly.

NotifyAsync(String, Object)

Richiama un determinato metodo in un server JSON-RPC senza attendere la risposta.

NotifyAsync(String, Object[])

Richiamare un metodo nel server e non attendere il completamento, lo stile fire-and-forget.

NotifyAsync(String, Object[], IReadOnlyList<Type>)

Richiama un determinato metodo in un server JSON-RPC senza attendere la risposta.

NotifyWithParameterObjectAsync(String, Object)

Richiamare un metodo nel server e non attendere il completamento, lo stile fire-and-forget. Il parametro viene passato come oggetto.

NotifyWithParameterObjectAsync(String, Object, IReadOnlyDictionary<String,Type>)

Richiama un determinato metodo in un server JSON-RPC senza attendere la risposta.

OnRequestTransmissionAborted(JsonRpcRequest)

Genera l'evento RequestTransmissionAborted.

OnResponseReceived(JsonRpcMessage)

Genera l'evento ResponseReceived.

OnResponseSent(JsonRpcMessage)

Genera l'evento ResponseSent.

StartListening()

Avvia l'ascolto dei messaggi in arrivo.

Eventi

Disconnected

Generato quando il flusso sottostante viene disconnesso.

Implementazioni dell'interfaccia esplicita

IDisposableObservable.IsDisposed

Gestisce una connessione JSON-RPC con un'altra entità su un Streamoggetto .

IJsonRpcFormatterCallbacks.RequestTransmissionAborted

Gestisce una connessione JSON-RPC con un'altra entità su un Streamoggetto .

IJsonRpcFormatterCallbacks.ResponseReceived

Gestisce una connessione JSON-RPC con un'altra entità su un Streamoggetto .

IJsonRpcFormatterCallbacks.ResponseSent

Gestisce una connessione JSON-RPC con un'altra entità su un Streamoggetto .

IJsonRpcTracingCallbacks.OnMessageDeserialized(JsonRpcMessage, Object)

Gestisce una connessione JSON-RPC con un'altra entità su un Streamoggetto .

IJsonRpcTracingCallbacks.OnMessageSerialized(JsonRpcMessage, Object)

Gestisce una connessione JSON-RPC con un'altra entità su un Streamoggetto .

Si applica a