JsonRpc Classe

Definição

Gerencia uma conexão JSON-RPC com outra entidade em um 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
Herança
JsonRpc
Implementações

Construtores

Nome Description
JsonRpc(DelimitedMessageHandler, Object)

Inicializa uma nova instância da classe JsonRpc.

JsonRpc(IJsonRpcMessageHandler, Object)

Inicializa uma nova instância da classe JsonRpc.

JsonRpc(IJsonRpcMessageHandler)

Inicializa uma nova instância da classe JsonRpc.

JsonRpc(Stream, Stream, Object)

Inicializa uma nova instância da classe JsonRpc que usa HeaderDelimitedMessageHandler em torno de mensagens serializadas usando o JsonMessageFormatter.

JsonRpc(Stream)

Inicializa uma nova instância da classe JsonRpc que usa HeaderDelimitedMessageHandler em torno de mensagens serializadas usando o JsonMessageFormatter.

Propriedades

Nome Description
ActivityTracingStrategy

Obtém ou define a estratégia para propagar IDs de atividade pelo RPC.

AllowModificationWhileListening

Obtém ou define um valor que indica se a configuração dessa instância pode ser alterada depois que StartListening() ou Attach(Stream, Object) tiver sido chamado.

CancellationStrategy

Obtém ou define a estratégia de cancelamento a ser usada.

CancelLocallyInvokedMethodsWhenConnectionIsClosed

Obtém ou define um valor que indica se todos os métodos enviados localmente aceitam uma CancellationToken quando a conexão com a parte remota é fechada.

Completion

Obtém um Task que é concluído quando essa instância é descartada ou quando a escuta é interrompida por erro, descarte ou fechamento do fluxo.

DispatchCompletion

Obtém um Task que é concluído quando nenhum método de destino local está sendo executado a partir de uma chamada RPC.

Encoding

Obtém ou define a codificação a ser usada para mensagens JSON transmitidas.

ExceptionOptions

Obtém ou define as configurações a serem usadas para serializar/desserializar exceções.

ExceptionStrategy

Obtém ou define um valor que indica se as exceções geradas pelo servidor RPC devem ser totalmente serializadas para que o cliente RPC desserialize.

IsDisposed

Gerencia uma conexão JSON-RPC com outra entidade em um Stream.

JoinableTaskFactory

Obtém ou define a participação JoinableTaskFactory para atenuar deadlocks com o thread principal.

JoinableTaskTracker

Obtém ou define o JsonRpc.JoinableTaskTokenTracker a ser usado para correlacionar JoinableTask tokens. Essa propriedade só é aplicável quando JoinableTaskFactory é null.

JsonSerializer

Obtém o JsonSerializer usado ao serializar e desserializar argumentos de método e retornar valores.

JsonSerializerFormatting

Obtém ou define a formatação a ser usada ao serializar mensagens JSON-RPC.

MessageHandler

Obtém o manipulador de mensagens usado para enviar e receber mensagens.

SynchronizationContext

Obtém ou define o SynchronizationContext a ser usado ao invocar métodos solicitados pela parte remota.

TraceSource

Obtém ou define o TraceSource usado para rastrear JSON-RPC mensagens e eventos.

Métodos

Nome Description
AddLocalRpcMethod(MethodInfo, Object, JsonRpcMethodAttribute)

Adiciona um manipulador para um método RPC com um determinado nome.

AddLocalRpcMethod(String, Delegate)

Adiciona um manipulador para um método RPC com um determinado nome.

AddLocalRpcMethod(String, MethodInfo, Object)

Adiciona um manipulador para um método RPC com um determinado nome.

AddLocalRpcTarget(Object, JsonRpcTargetOptions)

Adiciona o objeto de destino especificado como possível para invocar quando as mensagens de entrada são recebidas. O objeto de destino não deve herdar um do outro e é invocado na ordem em que são adicionados.

AddLocalRpcTarget(Object)

Adiciona o objeto de destino especificado como possível para invocar quando as mensagens de entrada são recebidas. O objeto de destino não deve herdar um do outro e é invocado na ordem em que são adicionados.

AddLocalRpcTarget(Type, Object, JsonRpcTargetOptions)

Gerencia uma conexão JSON-RPC com outra entidade em um Stream.

AddLocalRpcTarget<T>(T, JsonRpcTargetOptions)

Gerencia uma conexão JSON-RPC com outra entidade em um Stream.

AddRemoteRpcTarget(JsonRpc)

Adiciona uma conexão rpc remota para que as chamadas possam ser encaminhadas para o destino remoto se os destinos locais não lidarem com ela.

Attach(ReadOnlySpan<Type>, JsonRpcProxyOptions)

Cria um proxy de cliente JSON-RPC que está em conformidade com as interfaces de servidor especificadas.

Attach(Stream, Object)

Inicializa uma nova instância da classe JsonRpc que usa HeaderDelimitedMessageHandler em torno de mensagens serializadas usando o JsonMessageFormattere inicia a escuta imediatamente.

Attach(Stream, Stream, Object)

Inicializa uma nova instância da classe JsonRpc que usa HeaderDelimitedMessageHandler em torno de mensagens serializadas usando o JsonMessageFormattere inicia a escuta imediatamente.

Attach(Type, JsonRpcProxyOptions)

Cria um proxy de cliente JSON-RPC que está em conformidade com a interface do servidor especificada.

Attach(Type)

Cria um proxy de cliente JSON-RPC que está em conformidade com a interface do servidor especificada.

Attach<T>()

Cria um proxy de cliente JSON-RPC que está em conformidade com a interface do servidor especificada.

Attach<T>(IJsonRpcMessageHandler, JsonRpcProxyOptions)

Cria um proxy de cliente JSON-RPC que está em conformidade com a interface do servidor especificada.

Attach<T>(IJsonRpcMessageHandler)

Cria um proxy de cliente JSON-RPC que está em conformidade com a interface do servidor especificada.

Attach<T>(JsonRpcProxyOptions)

Cria um proxy de cliente JSON-RPC que está em conformidade com a interface do servidor especificada.

Attach<T>(Stream, Stream)

Cria um proxy de cliente JSON-RPC que está em conformidade com a interface do servidor especificada.

Attach<T>(Stream)

Cria um proxy de cliente JSON-RPC que está em conformidade com a interface do servidor especificada.

CreateErrorDetails(JsonRpcRequest, Exception)

Cria o JsonRpcError.ErrorDetail a ser usado como o valor da propriedade de erro a ser enviada de volta ao cliente em resposta a uma exceção que está sendo gerada de um método RPC invocado localmente.

CreateExceptionFromRpcError(JsonRpcRequest, JsonRpcError)

Cria um RemoteRpcException (ou tipo derivado) que representa os dados encontrados em uma resposta de erro JSON-RPC. Isso é chamado no lado do cliente para produzir a exceção que será lançada de volta ao cliente RPC.

CreateNewRequestId()

Cria um RequestId exclusivo para uma solicitação de saída.

DispatchRequestAsync(JsonRpcRequest, TargetMethod, CancellationToken)

Invoca o método no objeto de destino RPC local e converte a resposta em uma mensagem de resultado JSON-RPC.

Dispose()

Executa tarefas definidas pelo aplicativo associadas à liberação, liberação ou redefinição de recursos não gerenciados.

Dispose(Boolean)

Descarta recursos gerenciados e nativos mantidos por essa instância.

GetErrorDetailsDataType(JsonRpcError)

Determina o tipo para o qual o objeto Data deve ser desserializado para uma mensagem de JsonRpcError de entrada.

GetJsonRpcMethodAttribute(String, ReadOnlySpan<ParameterInfo>)

Obtém o JsonRpcMethodAttribute de um método RPC descoberto anteriormente, se houver um.

InvokeAsync(String, Object)

Invoca um determinado método em um servidor JSON-RPC.

InvokeAsync(String, Object[])

Invoca um determinado método em um servidor JSON-RPC.

InvokeAsync<TResult>(String, Object)

Invoca um determinado método em um servidor JSON-RPC.

InvokeAsync<TResult>(String, Object[])

Invoca um determinado método em um servidor JSON-RPC.

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

Invoca o método RPC especificado

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

Invoca o método RPC especificado

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

Invoca um determinado método em um servidor JSON-RPC.

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

Invoca o método RPC especificado.

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

Invoca o método RPC especificado.

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

Invoca o método RPC especificado.

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

Invoca um determinado método em um servidor JSON-RPC.

InvokeWithCancellationAsync(String, IReadOnlyList<Object>, CancellationToken)

Invoca um determinado método em um servidor JSON-RPC.

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

Invoca um determinado método em um servidor JSON-RPC.

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

Invoca um determinado método em um servidor JSON-RPC.

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

Invoca um determinado método em um servidor JSON-RPC.

InvokeWithParameterObjectAsync(String, Object, CancellationToken)

Invoca um determinado método em um servidor JSON-RPC.

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

Invoca um determinado método em um servidor JSON-RPC.

InvokeWithParameterObjectAsync<TResult>(String, Object, CancellationToken)

Invoca um determinado método em um servidor JSON-RPC.

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

Invoca um determinado método em um servidor JSON-RPC.

IsFatalException(Exception)

Indica se a conexão deve ser fechada quando o servidor gera uma exceção.

LoadType(String, String)

Tenta carregar um tipo com base em seu nome completo e possivelmente no nome do assembly.

NotifyAsync(String, Object)

Invoca um determinado método em um servidor JSON-RPC sem aguardar sua resposta.

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

Invoca um determinado método em um servidor JSON-RPC sem aguardar sua resposta.

NotifyAsync(String, Object[])

Invoque um método no servidor e não aguarde seu estilo de conclusão, fogo e esquecer.

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

Invoca um determinado método em um servidor JSON-RPC sem aguardar sua resposta.

NotifyWithParameterObjectAsync(String, Object)

Invoque um método no servidor e não aguarde seu estilo de conclusão, fogo e esquecer. O parâmetro é passado como um objeto.

OnRequestTransmissionAborted(JsonRpcRequest)

Gera o evento RequestTransmissionAborted.

OnResponseReceived(JsonRpcMessage)

Gera o evento ResponseReceived.

OnResponseSent(JsonRpcMessage)

Gera o evento ResponseSent.

SendAsync(JsonRpcMessage, CancellationToken)

Envia a mensagem JSON-RPC para IJsonRpcMessageHandler a intance a ser transmitida.

StartListening()

Começa a ouvir mensagens de entrada.

Eventos

Nome Description
Disconnected

Gerado quando o fluxo subjacente é desconectado.

Implantações explícitas de interface

Nome Description
IDisposableObservable.IsDisposed

Gerencia uma conexão JSON-RPC com outra entidade em um Stream.

IJsonRpcFormatterCallbacks.RequestTransmissionAborted

Gerencia uma conexão JSON-RPC com outra entidade em um Stream.

IJsonRpcFormatterCallbacks.ResponseReceived

Gerencia uma conexão JSON-RPC com outra entidade em um Stream.

IJsonRpcFormatterCallbacks.ResponseSent

Gerencia uma conexão JSON-RPC com outra entidade em um Stream.

IJsonRpcTracingCallbacks.OnMessageDeserialized(JsonRpcMessage, Object)

Gerencia uma conexão JSON-RPC com outra entidade em um Stream.

IJsonRpcTracingCallbacks.OnMessageSerialized(JsonRpcMessage, Object)

Gerencia uma conexão JSON-RPC com outra entidade em um Stream.

Aplica-se a