JsonRpc Clase

Definición

Administra una conexión de JSON-RPC con otra entidad a través de 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
Herencia
JsonRpc
Implementaciones

Constructores

Nombre Description
JsonRpc(DelimitedMessageHandler, Object)

Inicializa una nueva instancia de la clase JsonRpc.

JsonRpc(IJsonRpcMessageHandler, Object)

Inicializa una nueva instancia de la clase JsonRpc.

JsonRpc(IJsonRpcMessageHandler)

Inicializa una nueva instancia de la clase JsonRpc.

JsonRpc(Stream, Stream, Object)

Inicializa una nueva instancia de la clase JsonRpc que usa HeaderDelimitedMessageHandler en torno a los mensajes serializados mediante el JsonMessageFormatter.

JsonRpc(Stream)

Inicializa una nueva instancia de la clase JsonRpc que usa HeaderDelimitedMessageHandler en torno a los mensajes serializados mediante el JsonMessageFormatter.

Propiedades

Nombre Description
ActivityTracingStrategy

Obtiene o establece la estrategia para propagar identificadores de actividad a través de RPC.

AllowModificationWhileListening

Obtiene o establece un valor que indica si se puede cambiar la configuración de esta instancia después de llamar a StartListening() o Attach(Stream, Object).

CancellationStrategy

Obtiene o establece la estrategia de cancelación que se va a usar.

CancelLocallyInvokedMethodsWhenConnectionIsClosed

Obtiene o establece un valor que indica si se deben cancelar todos los métodos enviados localmente que aceptan un CancellationToken cuando se cierra la conexión con la entidad remota.

Completion

Obtiene un Task que se completa cuando se elimina esta instancia o cuando la escucha se ha detenido por error, eliminación o cierre de secuencia.

DispatchCompletion

Obtiene un Task que se completa cuando no se ejecuta ningún método de destino local desde una llamada RPC.

Encoding

Obtiene o establece la codificación que se va a usar para los mensajes JSON transmitidos.

ExceptionOptions

Obtiene o establece la configuración que se va a usar para serializar o deserializar excepciones.

ExceptionStrategy

Obtiene o establece un valor que indica si las excepciones producidas por el servidor RPC deben serializarse completamente para que el cliente RPC se deserialice.

IsDisposed

Administra una conexión de JSON-RPC con otra entidad a través de un Stream.

JoinableTaskFactory

Obtiene o establece el objeto en el JoinableTaskFactory que se va a participar para mitigar los interbloqueos con el subproceso principal.

JoinableTaskTracker

Obtiene o establece el objeto JsonRpc.JoinableTaskTokenTracker que se va a usar para correlacionar JoinableTask los tokens. Esta propiedad solo es aplicable cuando JoinableTaskFactory es null.

JsonSerializer

Obtiene el JsonSerializer usado al serializar y deserializar argumentos de método y valores devueltos.

JsonSerializerFormatting

Obtiene o establece el formato que se va a usar al serializar JSON-RPC mensajes.

MessageHandler

Obtiene el controlador de mensajes usado para enviar y recibir mensajes.

SynchronizationContext

Obtiene o establece el SynchronizationContext que se va a usar al invocar métodos solicitados por la entidad remota.

TraceSource

Obtiene o establece el TraceSource usado para realizar el seguimiento de JSON-RPC mensajes y eventos.

Métodos

Nombre Description
AddLocalRpcMethod(MethodInfo, Object, JsonRpcMethodAttribute)

Agrega un controlador para un método RPC con un nombre determinado.

AddLocalRpcMethod(String, Delegate)

Agrega un controlador para un método RPC con un nombre determinado.

AddLocalRpcMethod(String, MethodInfo, Object)

Agrega un controlador para un método RPC con un nombre determinado.

AddLocalRpcTarget(Object, JsonRpcTargetOptions)

Agrega el destino especificado como posible objeto para invocar cuando se reciben mensajes entrantes. El objeto de destino no debe heredar entre sí y se invoca en el orden en que se agregan.

AddLocalRpcTarget(Object)

Agrega el destino especificado como posible objeto para invocar cuando se reciben mensajes entrantes. El objeto de destino no debe heredar entre sí y se invoca en el orden en que se agregan.

AddLocalRpcTarget(Type, Object, JsonRpcTargetOptions)

Administra una conexión de JSON-RPC con otra entidad a través de un Stream.

AddLocalRpcTarget<T>(T, JsonRpcTargetOptions)

Administra una conexión de JSON-RPC con otra entidad a través de un Stream.

AddRemoteRpcTarget(JsonRpc)

Agrega una conexión rpc remota para que las llamadas se puedan reenviar al destino remoto si los destinos locales no lo controlan.

Attach(ReadOnlySpan<Type>, JsonRpcProxyOptions)

Crea un proxy de cliente JSON-RPC que se ajusta a las interfaces de servidor especificadas.

Attach(Stream, Object)

Inicializa una nueva instancia de la clase JsonRpc que usa HeaderDelimitedMessageHandler en torno a los mensajes serializados mediante el JsonMessageFormattere inicia inmediatamente la escucha.

Attach(Stream, Stream, Object)

Inicializa una nueva instancia de la clase JsonRpc que usa HeaderDelimitedMessageHandler en torno a los mensajes serializados mediante el JsonMessageFormattere inicia inmediatamente la escucha.

Attach(Type, JsonRpcProxyOptions)

Crea un proxy de cliente JSON-RPC que se ajusta a la interfaz de servidor especificada.

Attach(Type)

Crea un proxy de cliente JSON-RPC que se ajusta a la interfaz de servidor especificada.

Attach<T>()

Crea un proxy de cliente JSON-RPC que se ajusta a la interfaz de servidor especificada.

Attach<T>(IJsonRpcMessageHandler, JsonRpcProxyOptions)

Crea un proxy de cliente JSON-RPC que se ajusta a la interfaz de servidor especificada.

Attach<T>(IJsonRpcMessageHandler)

Crea un proxy de cliente JSON-RPC que se ajusta a la interfaz de servidor especificada.

Attach<T>(JsonRpcProxyOptions)

Crea un proxy de cliente JSON-RPC que se ajusta a la interfaz de servidor especificada.

Attach<T>(Stream, Stream)

Crea un proxy de cliente JSON-RPC que se ajusta a la interfaz de servidor especificada.

Attach<T>(Stream)

Crea un proxy de cliente JSON-RPC que se ajusta a la interfaz de servidor especificada.

CreateErrorDetails(JsonRpcRequest, Exception)

Crea el JsonRpcError.ErrorDetail que se usará como valor para que la propiedad de error se devuelva al cliente en respuesta a una excepción que se inicia desde un método RPC invocado localmente.

CreateExceptionFromRpcError(JsonRpcRequest, JsonRpcError)

Crea un RemoteRpcException (o tipo derivado) que representa los datos encontrados en una respuesta de error JSON-RPC. Se llama a en el lado cliente para generar la excepción que se devolverá al cliente RPC.

CreateNewRequestId()

Crea un RequestId único para una solicitud de salida.

DispatchRequestAsync(JsonRpcRequest, TargetMethod, CancellationToken)

Invoca el método en el objeto de destino RPC local y convierte la respuesta en un mensaje de resultado de JSON-RPC.

Dispose()

Realiza tareas definidas por la aplicación asociadas a la liberación, liberación o restablecimiento de recursos no administrados.

Dispose(Boolean)

Elimina los recursos administrados y nativos mantenidos por esta instancia.

GetErrorDetailsDataType(JsonRpcError)

Determina el tipo en el que se debe deserializar el objeto Data para un mensaje de JsonRpcError entrante.

GetJsonRpcMethodAttribute(String, ReadOnlySpan<ParameterInfo>)

Obtiene el JsonRpcMethodAttribute de un método RPC detectado anteriormente, si hay uno.

InvokeAsync(String, Object)

Invoca un método determinado en un servidor JSON-RPC.

InvokeAsync(String, Object[])

Invoca un método determinado en un servidor JSON-RPC.

InvokeAsync<TResult>(String, Object)

Invoca un método determinado en un servidor JSON-RPC.

InvokeAsync<TResult>(String, Object[])

Invoca un método determinado en un servidor JSON-RPC.

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

Invoca el método RPC especificado.

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

Invoca el método RPC especificado.

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

Invoca un método determinado en un servidor JSON-RPC.

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

Invoca el método RPC especificado.

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

Invoca el método RPC especificado.

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

Invoca el método RPC especificado.

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

Invoca un método determinado en un servidor JSON-RPC.

InvokeWithCancellationAsync(String, IReadOnlyList<Object>, CancellationToken)

Invoca un método determinado en un servidor JSON-RPC.

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

Invoca un método determinado en un servidor JSON-RPC.

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

Invoca un método determinado en un servidor JSON-RPC.

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

Invoca un método determinado en un servidor JSON-RPC.

InvokeWithParameterObjectAsync(String, Object, CancellationToken)

Invoca un método determinado en un servidor JSON-RPC.

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

Invoca un método determinado en un servidor JSON-RPC.

InvokeWithParameterObjectAsync<TResult>(String, Object, CancellationToken)

Invoca un método determinado en un servidor JSON-RPC.

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

Invoca un método determinado en un servidor JSON-RPC.

IsFatalException(Exception)

Indica si la conexión debe cerrarse cuando el servidor produce una excepción.

LoadType(String, String)

Intenta cargar un tipo en función de su nombre completo y posiblemente el nombre del ensamblado.

NotifyAsync(String, Object)

Invoca un método determinado en un servidor JSON-RPC sin esperar su respuesta.

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

Invoca un método determinado en un servidor JSON-RPC sin esperar su respuesta.

NotifyAsync(String, Object[])

Invoque un método en el servidor y no espere a que finalice, se active y olvide el estilo.

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

Invoca un método determinado en un servidor JSON-RPC sin esperar su respuesta.

NotifyWithParameterObjectAsync(String, Object)

Invoque un método en el servidor y no espere a que finalice, se active y olvide el estilo. El parámetro se pasa como un objeto .

OnRequestTransmissionAborted(JsonRpcRequest)

Genera el evento RequestTransmissionAborted.

OnResponseReceived(JsonRpcMessage)

Genera el evento ResponseReceived.

OnResponseSent(JsonRpcMessage)

Genera el evento ResponseSent.

SendAsync(JsonRpcMessage, CancellationToken)

Envía el mensaje de JSON-RPC a la intancia que se va a IJsonRpcMessageHandler transmitir.

StartListening()

Comienza a escuchar los mensajes entrantes.

Eventos

Nombre Description
Disconnected

Se genera cuando se desconecta la secuencia subyacente.

Implementaciones de interfaz explícitas

Nombre Description
IDisposableObservable.IsDisposed

Administra una conexión de JSON-RPC con otra entidad a través de un Stream.

IJsonRpcFormatterCallbacks.RequestTransmissionAborted

Administra una conexión de JSON-RPC con otra entidad a través de un Stream.

IJsonRpcFormatterCallbacks.ResponseReceived

Administra una conexión de JSON-RPC con otra entidad a través de un Stream.

IJsonRpcFormatterCallbacks.ResponseSent

Administra una conexión de JSON-RPC con otra entidad a través de un Stream.

IJsonRpcTracingCallbacks.OnMessageDeserialized(JsonRpcMessage, Object)

Administra una conexión de JSON-RPC con otra entidad a través de un Stream.

IJsonRpcTracingCallbacks.OnMessageSerialized(JsonRpcMessage, Object)

Administra una conexión de JSON-RPC con otra entidad a través de un Stream.

Se aplica a