JsonRpc Classe

Definizione

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

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

Nome Descrizione
JsonRpc(DelimitedMessageHandler, Object)

Inizializza una nuova istanza della classe JsonRpc.

JsonRpc(IJsonRpcMessageHandler, Object)

Inizializza una nuova istanza della classe JsonRpc.

JsonRpc(IJsonRpcMessageHandler)

Inizializza una nuova istanza della classe JsonRpc.

JsonRpc(Stream, Stream, Object)

Inizializza una nuova istanza della classe JsonRpc che utilizza HeaderDelimitedMessageHandler intorno ai messaggi serializzati utilizzando il JsonMessageFormatter.

JsonRpc(Stream)

Inizializza una nuova istanza della classe JsonRpc che utilizza HeaderDelimitedMessageHandler intorno ai messaggi serializzati utilizzando il JsonMessageFormatter.

Proprietà

Nome Descrizione
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 la chiamata di StartListening() o Attach(Stream, Object).

CancellationStrategy

Ottiene o imposta la strategia di annullamento da utilizzare.

CancelLocallyInvokedMethodsWhenConnectionIsClosed

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

Completion

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

DispatchCompletion

Ottiene un 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.

ExceptionOptions

Ottiene o imposta le impostazioni da utilizzare per serializzare/deserializzare le eccezioni.

ExceptionStrategy

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

IsDisposed

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

JoinableTaskFactory

Ottiene o imposta l'oggetto JoinableTaskFactory a cui partecipare per attenuare i deadlock con il thread principale.

JoinableTaskTracker

Ottiene o imposta l'oggetto JsonRpc.JoinableTaskTokenTracker da utilizzare per correlare JoinableTask i token. Questa proprietà è applicabile solo quando JoinableTaskFactory è null.

JsonSerializer

Ottiene il JsonSerializer utilizzato durante la serializzazione e la deserializzazione degli argomenti del metodo e i valori restituiti.

JsonSerializerFormatting

Ottiene o imposta la formattazione da utilizzare per la serializzazione dei messaggi JSON-RPC.

MessageHandler

Ottiene il gestore di messaggi utilizzato per inviare e ricevere messaggi.

SynchronizationContext

Ottiene o imposta il SynchronizationContext da utilizzare quando si richiamano i metodi richiesti dall'entità remota.

TraceSource

Ottiene o imposta il TraceSource utilizzato per tracciare JSON-RPC messaggi ed eventi.

Metodi

Nome Descrizione
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, JsonRpcTargetOptions)

Aggiunge la destinazione specificata il più possibile oggetto da richiamare quando vengono ricevuti i messaggi in arrivo. L'oggetto di destinazione non deve ereditare l'uno dall'altro e viene richiamato nell'ordine in cui vengono aggiunti.

AddLocalRpcTarget(Object)

Aggiunge la destinazione specificata il più possibile oggetto da richiamare quando vengono ricevuti i messaggi in arrivo. L'oggetto di destinazione non deve ereditare l'uno dall'altro e viene richiamato nell'ordine in cui vengono aggiunti.

AddLocalRpcTarget(Type, Object, JsonRpcTargetOptions)

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

AddLocalRpcTarget<T>(T, JsonRpcTargetOptions)

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

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(ReadOnlySpan<Type>, JsonRpcProxyOptions)

Crea un proxy client JSON-RPC conforme alle interfacce server specificate.

Attach(Stream, Object)

Inizializza una nuova istanza della classe JsonRpc che usa HeaderDelimitedMessageHandler intorno ai messaggi serializzati usando il JsonMessageFormattere inizia immediatamente l'ascolto.

Attach(Stream, Stream, Object)

Inizializza una nuova istanza della classe JsonRpc che usa HeaderDelimitedMessageHandler intorno ai messaggi serializzati usando il JsonMessageFormattere inizia immediatamente l'ascolto.

Attach(Type, JsonRpcProxyOptions)

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

Attach(Type)

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, JsonRpcProxyOptions)

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>(JsonRpcProxyOptions)

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.

Attach<T>(Stream)

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

CreateErrorDetails(JsonRpcRequest, Exception)

Crea il JsonRpcError.ErrorDetail da utilizzare come valore per la proprietà error da inviare al client in risposta a un'eccezione generata da un metodo RPC richiamato localmente.

CreateExceptionFromRpcError(JsonRpcRequest, JsonRpcError)

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

CreateNewRequestId()

Crea un RequestId univoco 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 associate alla liberazione, al rilascio o alla reimpostazione di risorse non gestite.

Dispose(Boolean)

Elimina le risorse gestite e native contenute in questa istanza.

GetErrorDetailsDataType(JsonRpcError)

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

GetJsonRpcMethodAttribute(String, ReadOnlySpan<ParameterInfo>)

Ottiene il 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, Boolean)

Richiama il metodo RPC specificato

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

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>(Nullable<Int64>, String, IReadOnlyList<Object>, CancellationToken)
Obsoleti.

Richiama il metodo RPC specificato.

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

Richiama il metodo RPC specificato.

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

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 ed eventualmente al nome dell'assembly.

NotifyAsync(String, Object)

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

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

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.

NotifyWithParameterObjectAsync(String, Object, IReadOnlyDictionary<String,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 .

OnRequestTransmissionAborted(JsonRpcRequest)

Genera l'evento RequestTransmissionAborted.

OnResponseReceived(JsonRpcMessage)

Genera l'evento ResponseReceived.

OnResponseSent(JsonRpcMessage)

Genera l'evento ResponseSent.

SendAsync(JsonRpcMessage, CancellationToken)

Invia il messaggio di JSON-RPC all'istanza IJsonRpcMessageHandler da trasmettere.

StartListening()

Avvia l'ascolto dei messaggi in arrivo.

Eventi

Nome Descrizione
Disconnected

Generato quando il flusso sottostante viene disconnesso.

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IDisposableObservable.IsDisposed

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

IJsonRpcFormatterCallbacks.RequestTransmissionAborted

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

IJsonRpcFormatterCallbacks.ResponseReceived

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

IJsonRpcFormatterCallbacks.ResponseSent

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

IJsonRpcTracingCallbacks.OnMessageDeserialized(JsonRpcMessage, Object)

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

IJsonRpcTracingCallbacks.OnMessageSerialized(JsonRpcMessage, Object)

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

Si applica a