JsonRpc Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Verwaltet eine JSON-RPC Verbindung mit einer anderen Entität über eine 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
| Name | Beschreibung |
|---|---|
| JsonRpc(DelimitedMessageHandler, Object) |
Initialisiert eine neue Instanz der JsonRpc Klasse. |
| JsonRpc(IJsonRpcMessageHandler, Object) |
Initialisiert eine neue Instanz der JsonRpc Klasse. |
| JsonRpc(IJsonRpcMessageHandler) |
Initialisiert eine neue Instanz der JsonRpc Klasse. |
| JsonRpc(Stream, Stream, Object) |
Initialisiert eine neue Instanz der JsonRpc Klasse, die HeaderDelimitedMessageHandler um Nachrichten verwendet, die mithilfe der JsonMessageFormatterserialisiert werden. |
| JsonRpc(Stream) |
Initialisiert eine neue Instanz der JsonRpc Klasse, die HeaderDelimitedMessageHandler um Nachrichten verwendet, die mithilfe der JsonMessageFormatterserialisiert werden. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| ActivityTracingStrategy |
Ruft die Strategie zum Verteilen von Aktivitäts-IDs über RPC ab oder legt sie fest. |
| AllowModificationWhileListening |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Konfiguration dieser Instanz geändert werden kann, nachdem StartListening() oder Attach(Stream, Object) aufgerufen wurde. |
| CancellationStrategy |
Ruft die zu verwendende Abbruchstrategie ab oder legt sie fest. |
| CancelLocallyInvokedMethodsWhenConnectionIsClosed |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob alle lokal verteilten Methoden abgebrochen werden sollen, die eine CancellationToken akzeptieren, wenn die Verbindung mit der Remotepartei geschlossen wird. |
| Completion |
Ruft eine Task ab, die abgeschlossen wird, wenn diese Instanz verworfen wird oder wenn die Überwachung beendet wurde, ob durch Fehler, Entsorgung oder das Schließen des Datenstroms. |
| DispatchCompletion |
Ruft eine Task ab, die abgeschlossen wird, wenn keine lokalen Zielmethoden von einem RPC-Aufruf ausgeführt werden. |
| Encoding |
Dient zum Abrufen oder Festlegen der Codierung, die für übertragene JSON-Nachrichten verwendet werden soll. |
| ExceptionOptions |
Ruft die Einstellungen ab, die zum Serialisieren/Deserialisieren von Ausnahmen verwendet werden sollen, oder legt diese fest. |
| ExceptionStrategy |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob vom RPC-Server ausgelöste Ausnahmen vollständig serialisiert werden sollen, damit der RPC-Client dann deserialisiert wird. |
| IsDisposed |
Verwaltet eine JSON-RPC Verbindung mit einer anderen Entität über eine Stream. |
| JoinableTaskFactory |
Dient zum Abrufen oder Festlegen der JoinableTaskFactory Teilnahme, um Deadlocks mit dem Hauptthread abzumildern. |
| JoinableTaskTracker |
Ruft ab oder legt fest, der JsonRpc.JoinableTaskTokenTracker zum Korrelieren JoinableTask von Token verwendet werden soll.
Diese Eigenschaft gilt nur, wenn JoinableTaskFactory dies der Fall ist |
| JsonSerializer |
Ruft die JsonSerializer ab, die beim Serialisieren und Deserialisieren von Methodenargumenten und Rückgabewerten verwendet werden. |
| JsonSerializerFormatting |
Ruft die Formatierung ab, die beim Serialisieren 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 SynchronizationContext ab, die beim Aufrufen von Methoden verwendet werden sollen, die von der Remotepartei angefordert werden, oder legt diese fest. |
| TraceSource |
Dient zum Abrufen oder Festlegen der TraceSource, die zum Nachverfolgen JSON-RPC Von Nachrichten und Ereignissen verwendet werden. |
Methoden
| Name | Beschreibung |
|---|---|
| AddLocalRpcMethod(MethodInfo, Object, JsonRpcMethodAttribute) |
Fügt einen Handler für eine RPC-Methode mit einem bestimmten Namen hinzu. |
| AddLocalRpcMethod(String, Delegate) |
Fügt einen Handler für eine RPC-Methode mit einem bestimmten Namen hinzu. |
| AddLocalRpcMethod(String, MethodInfo, Object) |
Fügt einen Handler für eine RPC-Methode mit einem bestimmten Namen hinzu. |
| AddLocalRpcTarget(Object, JsonRpcTargetOptions) |
Fügt das angegebene Ziel als mögliches Objekt hinzu, das aufgerufen werden soll, wenn eingehende Nachrichten empfangen werden. Das Zielobjekt sollte nicht voneinander erben und wird in der Reihenfolge aufgerufen, in der sie hinzugefügt werden. |
| AddLocalRpcTarget(Object) |
Fügt das angegebene Ziel als mögliches Objekt hinzu, das aufgerufen werden soll, wenn eingehende Nachrichten empfangen werden. Das Zielobjekt sollte nicht voneinander erben und wird in der Reihenfolge aufgerufen, in der sie hinzugefügt werden. |
| AddLocalRpcTarget(Type, Object, JsonRpcTargetOptions) |
Verwaltet eine JSON-RPC Verbindung mit einer anderen Entität über eine Stream. |
| AddLocalRpcTarget<T>(T, JsonRpcTargetOptions) |
Verwaltet eine JSON-RPC Verbindung mit einer anderen Entität über eine Stream. |
| AddRemoteRpcTarget(JsonRpc) |
Fügt eine Remote-RPC-Verbindung hinzu, sodass Anrufe an das Remoteziel weitergeleitet werden können, wenn lokale Ziele sie nicht verarbeiten. |
| Attach(ReadOnlySpan<Type>, JsonRpcProxyOptions) |
Erstellt einen JSON-RPC Clientproxy, der den angegebenen Serverschnittstellen entspricht. |
| Attach(Stream, Object) |
Initialisiert eine neue Instanz der JsonRpc-Klasse, die HeaderDelimitedMessageHandler um Nachrichten verwendet, die mithilfe der JsonMessageFormatterserialisiert wurden, und beginnt sofort mit der Überwachung. |
| Attach(Stream, Stream, Object) |
Initialisiert eine neue Instanz der JsonRpc-Klasse, die HeaderDelimitedMessageHandler um Nachrichten verwendet, die mithilfe der JsonMessageFormatterserialisiert wurden, und beginnt sofort mit der Überwachung. |
| Attach(Type, JsonRpcProxyOptions) |
Erstellt einen JSON-RPC Clientproxy, der der angegebenen Serverschnittstelle entspricht. |
| Attach(Type) |
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, JsonRpcProxyOptions) |
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>(JsonRpcProxyOptions) |
Erstellt einen JSON-RPC Clientproxy, der der angegebenen Serverschnittstelle entspricht. |
| Attach<T>(Stream, Stream) |
Erstellt einen JSON-RPC Clientproxy, der der angegebenen Serverschnittstelle entspricht. |
| Attach<T>(Stream) |
Erstellt einen JSON-RPC Clientproxy, der der angegebenen Serverschnittstelle entspricht. |
| CreateErrorDetails(JsonRpcRequest, Exception) |
Erstellt die JsonRpcError.ErrorDetail, die als Wert für die Fehlereigenschaft verwendet werden soll, die als Reaktion auf eine Ausnahme, die von einer lokal aufgerufenen RPC-Methode ausgelöst wird, 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 auf der Clientseite aufgerufen, um die Ausnahme zu erzeugen, die an den RPC-Client zurückgeworfen 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 anwendungsdefinierte Aufgaben aus, die mit dem Freigeben, Freigeben oder Zurücksetzen nicht verwalteter Ressourcen verknüpft sind. |
| Dispose(Boolean) |
Verworfen von verwalteten und systemeigenen Ressourcen, die von dieser Instanz gehalten werden. |
| GetErrorDetailsDataType(JsonRpcError) |
Bestimmt den Typ, für 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, falls vorhanden. |
| InvokeAsync(String, Object) |
Ruft eine bestimmte Methode auf einem JSON-RPC-Server auf. |
| InvokeAsync(String, Object[]) |
Ruft eine bestimmte Methode auf einem JSON-RPC-Server auf. |
| InvokeAsync<TResult>(String, Object) |
Ruft eine bestimmte Methode auf einem JSON-RPC-Server auf. |
| InvokeAsync<TResult>(String, Object[]) |
Ruft eine bestimmte Methode auf einem JSON-RPC-Server auf. |
| InvokeCoreAsync<TResult>(Nullable<Int32>, String, IReadOnlyList<Object>, CancellationToken, Boolean) |
Ruft die angegebene RPC-Methode auf. |
| InvokeCoreAsync<TResult>(Nullable<Int32>, String, IReadOnlyList<Object>, CancellationToken) |
Ruft die angegebene RPC-Methode auf. |
| InvokeCoreAsync<TResult>(Nullable<Int64>, String, IReadOnlyList<Object>, CancellationToken, Boolean) |
Veraltet.
Ruft eine bestimmte Methode auf einem JSON-RPC-Server auf. |
| InvokeCoreAsync<TResult>(Nullable<Int64>, String, IReadOnlyList<Object>, CancellationToken) |
Veraltet.
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>, CancellationToken) |
Ruft die angegebene RPC-Methode auf. |
| InvokeCoreAsync<TResult>(RequestId, String, IReadOnlyList<Object>, IReadOnlyList<Type>, IReadOnlyDictionary<String,Type>, CancellationToken, Boolean) |
Ruft eine bestimmte Methode auf einem JSON-RPC-Server auf. |
| InvokeWithCancellationAsync(String, IReadOnlyList<Object>, CancellationToken) |
Ruft eine bestimmte Methode auf einem JSON-RPC-Server auf. |
| InvokeWithCancellationAsync(String, IReadOnlyList<Object>, IReadOnlyList<Type>, CancellationToken) |
Ruft eine bestimmte Methode auf einem JSON-RPC-Server auf. |
| InvokeWithCancellationAsync<TResult>(String, IReadOnlyList<Object>, CancellationToken) |
Ruft eine bestimmte Methode auf einem JSON-RPC-Server auf. |
| InvokeWithCancellationAsync<TResult>(String, IReadOnlyList<Object>, IReadOnlyList<Type>, CancellationToken) |
Ruft eine bestimmte Methode auf einem JSON-RPC-Server auf. |
| InvokeWithParameterObjectAsync(String, Object, CancellationToken) |
Ruft eine bestimmte Methode auf einem JSON-RPC-Server auf. |
| InvokeWithParameterObjectAsync(String, Object, IReadOnlyDictionary<String,Type>, CancellationToken) |
Ruft eine bestimmte Methode auf einem JSON-RPC-Server auf. |
| InvokeWithParameterObjectAsync<TResult>(String, Object, CancellationToken) |
Ruft eine bestimmte Methode auf einem JSON-RPC-Server auf. |
| InvokeWithParameterObjectAsync<TResult>(String, Object, IReadOnlyDictionary<String,Type>, CancellationToken) |
Ruft eine bestimmte 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 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[], IReadOnlyList<Type>) |
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 den Abschluss, das Feuer-und-Vergessen-Format. |
| NotifyWithParameterObjectAsync(String, Object, IReadOnlyDictionary<String,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 den Abschluss, das Feuer-und-Vergessen-Format. Der Parameter wird als Objekt übergeben. |
| OnRequestTransmissionAborted(JsonRpcRequest) |
Löst das RequestTransmissionAborted-Ereignis aus. |
| OnResponseReceived(JsonRpcMessage) |
Löst das ResponseReceived-Ereignis aus. |
| OnResponseSent(JsonRpcMessage) |
Löst das ResponseSent-Ereignis aus. |
| SendAsync(JsonRpcMessage, CancellationToken) |
Sendet die JSON-RPC Nachricht an die IJsonRpcMessageHandler zu übertragende Intance. |
| StartListening() |
Beginnt mit der Überwachung eingehender Nachrichten. |
Ereignisse
| Name | Beschreibung |
|---|---|
| Disconnected |
Wird ausgelöst, wenn der zugrunde liegende Datenstrom getrennt wird. |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IDisposableObservable.IsDisposed |
Verwaltet eine JSON-RPC Verbindung mit einer anderen Entität über eine Stream. |
| IJsonRpcFormatterCallbacks.RequestTransmissionAborted |
Verwaltet eine JSON-RPC Verbindung mit einer anderen Entität über eine Stream. |
| IJsonRpcFormatterCallbacks.ResponseReceived |
Verwaltet eine JSON-RPC Verbindung mit einer anderen Entität über eine Stream. |
| IJsonRpcFormatterCallbacks.ResponseSent |
Verwaltet eine JSON-RPC Verbindung mit einer anderen Entität über eine Stream. |
| IJsonRpcTracingCallbacks.OnMessageDeserialized(JsonRpcMessage, Object) |
Verwaltet eine JSON-RPC Verbindung mit einer anderen Entität über eine Stream. |
| IJsonRpcTracingCallbacks.OnMessageSerialized(JsonRpcMessage, Object) |
Verwaltet eine JSON-RPC Verbindung mit einer anderen Entität über eine Stream. |