Freigeben über


JsonRpc Klasse

Definition

Verwaltet eine JSON-RPC-Verbindung mit einer anderen Entität über einen 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
Vererbung
JsonRpc
Implementiert

Konstruktoren

JsonRpc(DelimitedMessageHandler, Object)

Initialisiert eine neue Instanz der JsonRpc-Klasse.

JsonRpc(IJsonRpcMessageHandler)

Initialisiert eine neue Instanz der JsonRpc-Klasse.

JsonRpc(IJsonRpcMessageHandler, Object)

Initialisiert eine neue Instanz der JsonRpc-Klasse.

JsonRpc(Stream)

Initialisiert eine neue instance der -Klasse, die JsonRpc um Nachrichten verwendetHeaderDelimitedMessageHandler, die mithilfe von JsonMessageFormatterserialisiert werden.

JsonRpc(Stream, Stream, Object)

Initialisiert eine neue instance der -Klasse, die JsonRpc um Nachrichten verwendetHeaderDelimitedMessageHandler, die mithilfe von JsonMessageFormatterserialisiert werden.

Eigenschaften

ActivityTracingStrategy

Ruft die Strategie für die Weitergabe von Aktivitäts-IDs über RPC ab oder legt sie fest.

AllowModificationWhileListening

Ruft einen Wert ab, der angibt, ob die Konfiguration dieses instance nach oder nach StartListening() dem Aufruf geändert werden kann, oder Attach(Stream, Object) legt diesen fest.

CancellationStrategy

Ruft die zu verwendende Abbruchstrategie ab oder legt sie fest.

CancelLocallyInvokedMethodsWhenConnectionIsClosed

Ruft einen Wert ab, der angibt, ob alle lokal gesendeten Methoden abgebrochen werden sollen, die eine CancellationToken akzeptieren, wenn die Verbindung mit der Remotepartei geschlossen wird, oder legt diesen fest.

Completion

Ruft eine Task ab, die abgeschlossen wird, wenn diese instance verworfen wird oder wenn die Überwachung beendet wurde, unabhängig davon, ob sie durch Fehler, Entsorgung oder den Abschluss des Datenstroms beendet wurde.

DispatchCompletion

Ruft einen Task ab, der abgeschlossen wird, wenn keine lokalen Zielmethoden von einem RPC-Aufruf ausgeführt werden.

Encoding

Ruft die Codierung ab, die für übertragene JSON-Nachrichten verwendet werden soll, oder legt diese fest.

ExceptionStrategy

Ruft einen Wert ab, der angibt, ob vom RPC-Server ausgelöste Ausnahmen vollständig serialisiert werden sollen, damit der RPC-Client dann deserialisiert werden kann, oder legt diesen fest.

IsDisposed

Verwaltet eine JSON-RPC-Verbindung mit einer anderen Entität über einen Stream.

JsonSerializer

Ruft die ab, die JsonSerializer beim Serialisieren und Deserialisieren von Methodenargumenten und Rückgabewerten verwendet wird.

JsonSerializerFormatting

Ruft die Formatierung ab, die beim Serialisieren von JSON-RPC-Nachrichten verwendet werden soll, oder legt diese fest.

MessageHandler

Ruft den Nachrichtenhandler ab, der zum Senden und Empfangen von Nachrichten verwendet wird.

SynchronizationContext

Ruft die ab, die SynchronizationContext beim Aufrufen von Methoden verwendet werden soll, die von der Remotepartei angefordert werden, oder legt diesen fest.

TraceSource

Ruft den ab, der zum Nachverfolgen von TraceSource JSON-RPC-Nachrichten und -Ereignissen verwendet wird, oder legt diesen fest.

Methoden

AddLocalRpcMethod(MethodInfo, Object, JsonRpcMethodAttribute)

Fügt einen Handler für eine RPC-Methode mit einem angegebenen Namen hinzu.

AddLocalRpcMethod(String, Delegate)

Fügt einen Handler für eine RPC-Methode mit einem angegebenen Namen hinzu.

AddLocalRpcMethod(String, MethodInfo, Object)

Fügt einen Handler für eine RPC-Methode mit einem angegebenen Namen hinzu.

AddLocalRpcTarget(Object)

Fügt das angegebene Ziel als mögliches Objekt hinzu, das beim Empfang eingehender Nachrichten aufgerufen werden soll. Das Zielobjekt sollte nicht voneinander erben und in der Reihenfolge aufgerufen werden, in der es hinzugefügt wird.

AddLocalRpcTarget(Object, JsonRpcTargetOptions)

Fügt das angegebene Ziel als mögliches Objekt hinzu, das beim Empfang eingehender Nachrichten aufgerufen werden soll. Das Zielobjekt sollte nicht voneinander erben und in der Reihenfolge aufgerufen werden, in der es hinzugefügt wird.

AddLocalRpcTarget(Type, Object, JsonRpcTargetOptions)

Verwaltet eine JSON-RPC-Verbindung mit einer anderen Entität über einen Stream.

AddLocalRpcTarget<T>(T, JsonRpcTargetOptions)

Verwaltet eine JSON-RPC-Verbindung mit einer anderen Entität über einen Stream.

AddRemoteRpcTarget(JsonRpc)

Fügt eine Remote-RPC-Verbindung hinzu, damit Aufrufe an das Remoteziel weitergeleitet werden können, wenn lokale Ziele dies nicht verarbeiten.

Attach(Stream, Object)

Initialisiert eine neue instance der -Klasse, die JsonRpc mit serialisierten Nachrichten verwendetHeaderDelimitedMessageHandler, und beginnt sofort mit dem JsonMessageFormatterLauschen.

Attach(Stream, Stream, Object)

Initialisiert eine neue instance der -Klasse, die JsonRpc mit serialisierten Nachrichten verwendetHeaderDelimitedMessageHandler, und beginnt sofort mit dem JsonMessageFormatterLauschen.

Attach(Type)

Erstellt einen JSON-RPC-Clientproxy, der der angegebenen Serverschnittstelle entspricht.

Attach(Type, JsonRpcProxyOptions)

Erstellt einen JSON-RPC-Clientproxy, der der angegebenen Serverschnittstelle entspricht.

Attach<T>()

Erstellt einen JSON-RPC-Clientproxy, der der angegebenen Serverschnittstelle entspricht.

Attach<T>(IJsonRpcMessageHandler)

Erstellt einen JSON-RPC-Clientproxy, der der angegebenen Serverschnittstelle entspricht.

Attach<T>(IJsonRpcMessageHandler, JsonRpcProxyOptions)

Erstellt einen JSON-RPC-Clientproxy, der der angegebenen Serverschnittstelle entspricht.

Attach<T>(JsonRpcProxyOptions)

Erstellt einen JSON-RPC-Clientproxy, der der angegebenen Serverschnittstelle entspricht.

Attach<T>(Stream)

Erstellt einen JSON-RPC-Clientproxy, der der angegebenen Serverschnittstelle entspricht.

Attach<T>(Stream, Stream)

Erstellt einen JSON-RPC-Clientproxy, der der angegebenen Serverschnittstelle entspricht.

CreateErrorDetails(JsonRpcRequest, Exception)

Erstellt den JsonRpcError.ErrorDetail als Wert für die error-Eigenschaft, die als Reaktion auf eine Ausnahme von einer lokal aufgerufenen RPC-Methode an den Client zurückgesendet werden soll.

CreateExceptionFromRpcError(JsonRpcRequest, JsonRpcError)

Erstellt einen RemoteRpcException (oder abgeleiteten) Typ, der die in einer JSON-RPC-Fehlerantwort gefundenen Daten darstellt. Dies wird clientseitig aufgerufen, um die Ausnahme zu erzeugen, die an den RPC-Client zurückgegeben wird.

CreateNewRequestId()

Erstellt eine eindeutige RequestId für eine ausgehende Anforderung.

DispatchRequestAsync(JsonRpcRequest, TargetMethod, CancellationToken)

Ruft die -Methode für das lokale RPC-Zielobjekt auf und konvertiert die Antwort in eine JSON-RPC-Ergebnismeldung.

Dispose()

Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.

Dispose(Boolean)

Löscht verwaltete und native Ressourcen, die von diesem instance gespeichert werden.

GetErrorDetailsDataType(JsonRpcError)

Bestimmt den Typ, in den das Data Objekt für eine eingehende JsonRpcError Nachricht deserialisiert werden soll.

GetJsonRpcMethodAttribute(String, ReadOnlySpan<ParameterInfo>)

Ruft die JsonRpcMethodAttribute für eine zuvor ermittelte RPC-Methode ab, sofern vorhanden.

InvokeAsync(String, Object)

Ruft eine angegebene Methode auf einem JSON-RPC-Server auf.

InvokeAsync(String, Object[])

Ruft eine angegebene Methode auf einem JSON-RPC-Server auf.

InvokeAsync<TResult>(String, Object)

Ruft eine angegebene Methode auf einem JSON-RPC-Server auf.

InvokeAsync<TResult>(String, Object[])

Ruft eine angegebene Methode auf einem JSON-RPC-Server auf.

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

Ruft die angegebene RPC-Methode auf.

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

Ruft die angegebene RPC-Methode auf.

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

Ruft die angegebene RPC-Methode auf.

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

Ruft eine angegebene Methode auf einem JSON-RPC-Server auf.

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

Ruft die angegebene RPC-Methode auf.

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

Ruft die angegebene RPC-Methode auf.

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

Ruft eine angegebene Methode auf einem JSON-RPC-Server auf.

InvokeWithCancellationAsync(String, IReadOnlyList<Object>, CancellationToken)

Ruft eine angegebene Methode auf einem JSON-RPC-Server auf.

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

Ruft eine angegebene Methode auf einem JSON-RPC-Server auf.

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

Ruft eine angegebene Methode auf einem JSON-RPC-Server auf.

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

Ruft eine angegebene Methode auf einem JSON-RPC-Server auf.

InvokeWithParameterObjectAsync(String, Object, CancellationToken)

Ruft eine angegebene Methode auf einem JSON-RPC-Server auf.

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

Ruft eine angegebene Methode auf einem JSON-RPC-Server auf.

InvokeWithParameterObjectAsync<TResult>(String, Object, CancellationToken)

Ruft eine angegebene Methode auf einem JSON-RPC-Server auf.

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

Ruft eine angegebene Methode auf einem JSON-RPC-Server auf.

IsFatalException(Exception)

Gibt an, ob die Verbindung geschlossen werden soll, wenn der Server eine Ausnahme auslöst.

LoadType(String, String)

Versucht, einen Typ basierend auf seinem vollständigen Namen und möglicherweise dem Assemblynamen zu laden.

NotifyAsync(String, Object)

Ruft eine bestimmte Methode auf einem JSON-RPC-Server auf, ohne auf die Antwort zu warten.

NotifyAsync(String, Object[])

Rufen Sie eine Methode auf dem Server auf, und warten Sie nicht auf deren Abschluss, Fire-and-Forget-Stil.

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

Ruft eine bestimmte Methode auf einem JSON-RPC-Server auf, ohne auf die Antwort zu warten.

NotifyWithParameterObjectAsync(String, Object)

Rufen Sie eine Methode auf dem Server auf, und warten Sie nicht auf deren Abschluss, Fire-and-Forget-Stil. Der Parameter wird als Objekt übergeben.

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

Ruft eine bestimmte Methode auf einem JSON-RPC-Server auf, ohne auf die Antwort zu warten.

OnRequestTransmissionAborted(JsonRpcRequest)

Löst das RequestTransmissionAborted-Ereignis aus.

OnResponseReceived(JsonRpcMessage)

Löst das ResponseReceived-Ereignis aus.

OnResponseSent(JsonRpcMessage)

Löst das ResponseSent-Ereignis aus.

StartListening()

Beginnt mit dem Lauschen eingehender Nachrichten.

Ereignisse

Disconnected

Wird ausgelöst, wenn die Verbindung mit dem zugrunde liegenden Stream getrennt wird.

Explizite Schnittstellenimplementierungen

IDisposableObservable.IsDisposed

Verwaltet eine JSON-RPC-Verbindung mit einer anderen Entität über einen Stream.

IJsonRpcFormatterCallbacks.RequestTransmissionAborted

Verwaltet eine JSON-RPC-Verbindung mit einer anderen Entität über einen Stream.

IJsonRpcFormatterCallbacks.ResponseReceived

Verwaltet eine JSON-RPC-Verbindung mit einer anderen Entität über einen Stream.

IJsonRpcFormatterCallbacks.ResponseSent

Verwaltet eine JSON-RPC-Verbindung mit einer anderen Entität über einen Stream.

IJsonRpcTracingCallbacks.OnMessageDeserialized(JsonRpcMessage, Object)

Verwaltet eine JSON-RPC-Verbindung mit einer anderen Entität über einen Stream.

IJsonRpcTracingCallbacks.OnMessageSerialized(JsonRpcMessage, Object)

Verwaltet eine JSON-RPC-Verbindung mit einer anderen Entität über einen Stream.

Gilt für: