JsonRpc 类

定义

通过 Stream管理与另一个实体的 JSON-RPC 连接。

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
继承
JsonRpc
实现

构造函数

JsonRpc(DelimitedMessageHandler, Object)

初始化 JsonRpc 类的新实例。

JsonRpc(IJsonRpcMessageHandler)

初始化 JsonRpc 类的新实例。

JsonRpc(IJsonRpcMessageHandler, Object)

初始化 JsonRpc 类的新实例。

JsonRpc(Stream)

初始化 类的新实例, JsonRpc 该实例使用 HeaderDelimitedMessageHandler 围绕使用 JsonMessageFormatter序列化的消息。

JsonRpc(Stream, Stream, Object)

初始化 类的新实例, JsonRpc 该实例使用 HeaderDelimitedMessageHandler 围绕使用 JsonMessageFormatter序列化的消息。

属性

ActivityTracingStrategy

获取或设置通过 RPC 传播活动 ID 的策略。

AllowModificationWhileListening

获取或设置一个值,该值指示是否可以在调用或Attach(Stream, Object)调用后StartListening()更改此实例的配置。

CancellationStrategy

获取或设置要使用的取消策略。

CancelLocallyInvokedMethodsWhenConnectionIsClosed

获取或设置一个值,该值指示是否取消在关闭与远程方的连接时在本地调度的所有接受 CancellationToken 的方法。

Completion

获取一个 , Task 该值在释放此实例或侦听已停止时完成,无论是否因错误、处置或流关闭而停止。

DispatchCompletion

获取在 Task RPC 调用中没有本地目标方法执行时完成的 。

Encoding

获取或设置要用于传输的 JSON 消息的编码。

ExceptionStrategy

获取或设置一个值,该值指示是否应对 RPC 服务器引发的异常进行完全序列化,以便 RPC 客户端进行反序列化。

IsDisposed

通过 Stream管理与另一个实体的 JSON-RPC 连接。

JsonSerializer

获取序列化 JsonSerializer 和反序列化方法参数和返回值时使用的 。

JsonSerializerFormatting

获取或设置序列化 JSON-RPC 消息时要使用的格式。

MessageHandler

获取用于发送和接收消息的消息处理程序。

SynchronizationContext

获取或设置 SynchronizationContext 在调用远程方请求的方法时要使用的 。

TraceSource

获取或设置 TraceSource 用于跟踪 JSON-RPC 消息和事件的 。

方法

AddLocalRpcMethod(MethodInfo, Object, JsonRpcMethodAttribute)

为具有给定名称的 RPC 方法添加处理程序。

AddLocalRpcMethod(String, Delegate)

为具有给定名称的 RPC 方法添加处理程序。

AddLocalRpcMethod(String, MethodInfo, Object)

为具有给定名称的 RPC 方法添加处理程序。

AddLocalRpcTarget(Object)

将指定的目标添加为接收传入消息时要调用的可能对象。 目标对象不应相互继承,并按添加顺序调用。

AddLocalRpcTarget(Object, JsonRpcTargetOptions)

将指定的目标添加为接收传入消息时要调用的可能对象。 目标对象不应相互继承,并按添加顺序调用。

AddLocalRpcTarget(Type, Object, JsonRpcTargetOptions)

通过 Stream管理与另一个实体的 JSON-RPC 连接。

AddLocalRpcTarget<T>(T, JsonRpcTargetOptions)

通过 Stream管理与另一个实体的 JSON-RPC 连接。

AddRemoteRpcTarget(JsonRpc)

添加远程 rpc 连接,以便在本地目标不处理远程目标时,可以将调用转发到远程目标。

Attach(Stream, Object)

初始化 类的新实例, JsonRpc 该实例围绕使用 HeaderDelimitedMessageHandler 序列化的消息, JsonMessageFormatter并立即开始侦听。

Attach(Stream, Stream, Object)

初始化 类的新实例, JsonRpc 该实例围绕使用 HeaderDelimitedMessageHandler 序列化的消息, JsonMessageFormatter并立即开始侦听。

Attach(Type)

创建符合指定服务器接口的 JSON-RPC 客户端代理。

Attach(Type, JsonRpcProxyOptions)

创建符合指定服务器接口的 JSON-RPC 客户端代理。

Attach<T>()

创建符合指定服务器接口的 JSON-RPC 客户端代理。

Attach<T>(IJsonRpcMessageHandler)

创建符合指定服务器接口的 JSON-RPC 客户端代理。

Attach<T>(IJsonRpcMessageHandler, JsonRpcProxyOptions)

创建符合指定服务器接口的 JSON-RPC 客户端代理。

Attach<T>(JsonRpcProxyOptions)

创建符合指定服务器接口的 JSON-RPC 客户端代理。

Attach<T>(Stream)

创建符合指定服务器接口的 JSON-RPC 客户端代理。

Attach<T>(Stream, Stream)

创建符合指定服务器接口的 JSON-RPC 客户端代理。

CreateErrorDetails(JsonRpcRequest, Exception)

JsonRpcError.ErrorDetail创建要用作错误属性的值,以响应从本地调用的 RPC 方法引发的异常时发回客户端。

CreateExceptionFromRpcError(JsonRpcRequest, JsonRpcError)

创建表示 RemoteRpcException JSON-RPC 错误响应中的数据的 (或派生类型) 。 这在客户端上调用,以生成将引发回 RPC 客户端的异常。

CreateNewRequestId()

为出站请求创建唯 RequestId 一的 。

DispatchRequestAsync(JsonRpcRequest, TargetMethod, CancellationToken)

在本地 RPC 目标对象上调用 方法,并将响应转换为 JSON-RPC 结果消息。

Dispose()

执行与释放或重置非托管资源关联的应用程序定义的任务。

Dispose(Boolean)

释放此实例持有的托管资源和本机资源。

GetErrorDetailsDataType(JsonRpcError)

确定对于传入JsonRpcError消息,Data对象应反序列化为的类型。

GetJsonRpcMethodAttribute(String, ReadOnlySpan<ParameterInfo>)

JsonRpcMethodAttribute获取以前发现的 RPC 方法的 (如果有)。

InvokeAsync(String, Object)

在 JSON-RPC 服务器上调用给定的方法。

InvokeAsync(String, Object[])

在 JSON-RPC 服务器上调用给定的方法。

InvokeAsync<TResult>(String, Object)

在 JSON-RPC 服务器上调用给定的方法。

InvokeAsync<TResult>(String, Object[])

在 JSON-RPC 服务器上调用给定的方法。

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

调用指定的 RPC 方法

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

调用指定的 RPC 方法

InvokeCoreAsync<TResult>(Nullable<Int64>, String, IReadOnlyList<Object>, CancellationToken)
已过时.

调用指定的 RPC 方法。

InvokeCoreAsync<TResult>(Nullable<Int64>, String, IReadOnlyList<Object>, CancellationToken, Boolean)
已过时.

在 JSON-RPC 服务器上调用给定的方法。

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

调用指定的 RPC 方法。

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

调用指定的 RPC 方法。

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

在 JSON-RPC 服务器上调用给定的方法。

InvokeWithCancellationAsync(String, IReadOnlyList<Object>, CancellationToken)

在 JSON-RPC 服务器上调用给定的方法。

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

在 JSON-RPC 服务器上调用给定的方法。

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

在 JSON-RPC 服务器上调用给定的方法。

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

在 JSON-RPC 服务器上调用给定的方法。

InvokeWithParameterObjectAsync(String, Object, CancellationToken)

在 JSON-RPC 服务器上调用给定的方法。

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

在 JSON-RPC 服务器上调用给定的方法。

InvokeWithParameterObjectAsync<TResult>(String, Object, CancellationToken)

在 JSON-RPC 服务器上调用给定的方法。

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

在 JSON-RPC 服务器上调用给定的方法。

IsFatalException(Exception)

指示在服务器引发异常时是否应关闭连接。

LoadType(String, String)

尝试根据类型的完整名称和可能的程序集名称加载类型。

NotifyAsync(String, Object)

在 JSON-RPC 服务器上调用给定的方法,而无需等待其响应。

NotifyAsync(String, Object[])

在服务器上调用方法,不要等待其完成,即发即弃样式。

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

在 JSON-RPC 服务器上调用给定的方法,而无需等待其响应。

NotifyWithParameterObjectAsync(String, Object)

在服务器上调用方法,不要等待其完成,即发即弃样式。 参数作为 对象传递。

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

在 JSON-RPC 服务器上调用给定的方法,而无需等待其响应。

OnRequestTransmissionAborted(JsonRpcRequest)

引发 RequestTransmissionAborted 事件。

OnResponseReceived(JsonRpcMessage)

引发 ResponseReceived 事件。

OnResponseSent(JsonRpcMessage)

引发 ResponseSent 事件。

StartListening()

开始侦听传入消息。

事件

Disconnected

在基础流断开连接时引发。

显式接口实现

IDisposableObservable.IsDisposed

通过 Stream管理与另一个实体的 JSON-RPC 连接。

IJsonRpcFormatterCallbacks.RequestTransmissionAborted

通过 Stream管理与另一个实体的 JSON-RPC 连接。

IJsonRpcFormatterCallbacks.ResponseReceived

通过 Stream管理与另一个实体的 JSON-RPC 连接。

IJsonRpcFormatterCallbacks.ResponseSent

通过 Stream管理与另一个实体的 JSON-RPC 连接。

IJsonRpcTracingCallbacks.OnMessageDeserialized(JsonRpcMessage, Object)

通过 Stream管理与另一个实体的 JSON-RPC 连接。

IJsonRpcTracingCallbacks.OnMessageSerialized(JsonRpcMessage, Object)

通过 Stream管理与另一个实体的 JSON-RPC 连接。

适用于