JsonRpc.InvokeCoreAsync 方法

定义

重载

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

调用指定的 RPC 方法。

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

调用指定的 RPC 方法

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

调用指定的 RPC 方法。

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

调用指定的 RPC 方法。

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

调用指定的 RPC 方法

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

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

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

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

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

调用指定的 RPC 方法。

protected System.Threading.Tasks.Task<TResult> InvokeCoreAsync<TResult> (StreamJsonRpc.RequestId id, string targetName, System.Collections.Generic.IReadOnlyList<object?>? arguments, System.Threading.CancellationToken cancellationToken);
member this.InvokeCoreAsync : StreamJsonRpc.RequestId * string * System.Collections.Generic.IReadOnlyList<obj> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Protected Function InvokeCoreAsync(Of TResult) (id As RequestId, targetName As String, arguments As IReadOnlyList(Of Object), cancellationToken As CancellationToken) As Task(Of TResult)

类型参数

TResult

RPC 方法返回类型。

参数

id
RequestId

客户端建立的标识符,必须包含字符串、数字或 NULL 值(如果包含)。 如果未包含,则假定它是通知。

targetName
String

要调用的方法的名称。 不得为 null 或空。

arguments
IReadOnlyList<Object>

要传递给已调用方法的参数。 必须使用所选 IJsonRpcMessageFormatter项对它们进行序列化。 如果 null,则不会传递任何参数。

cancellationToken
CancellationToken

取消的令牌应发出服务器停止处理此请求的信号。

返回

Task<TResult>

其结果为来自 JSON-RPC 服务器的反序列化响应的任务。

适用于

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

调用指定的 RPC 方法

protected virtual System.Threading.Tasks.Task<TResult> InvokeCoreAsync<TResult> (int? id, string targetName, System.Collections.Generic.IReadOnlyList<object> arguments, System.Threading.CancellationToken cancellationToken);
abstract member InvokeCoreAsync : Nullable<int> * string * System.Collections.Generic.IReadOnlyList<obj> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
override this.InvokeCoreAsync : Nullable<int> * string * System.Collections.Generic.IReadOnlyList<obj> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Protected Overridable Function InvokeCoreAsync(Of TResult) (id As Nullable(Of Integer), targetName As String, arguments As IReadOnlyList(Of Object), cancellationToken As CancellationToken) As Task(Of TResult)

类型参数

TResult

RPC 方法返回类型

参数

id
Nullable<Int32>

客户端建立的标识符,必须包含字符串、数字或 NULL 值(如果包含)。 如果未包含,则假定它是通知。

targetName
String

要调用的方法的名称。

arguments
IReadOnlyList<Object>

要传递给已调用方法的参数。 如果为 null,则不会传递任何参数。

cancellationToken
CancellationToken

取消的令牌应发出服务器停止处理此请求的信号。

返回

Task<TResult>

其结果为来自 JSON-RPC 服务器的反序列化响应的任务。

适用于

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

注意

Use the InvokeCoreAsync(RequestId, ...) overload instead.

调用指定的 RPC 方法。

protected System.Threading.Tasks.Task<TResult> InvokeCoreAsync<TResult> (long? id, string targetName, System.Collections.Generic.IReadOnlyList<object> arguments, System.Threading.CancellationToken cancellationToken);
[System.Obsolete("Use the InvokeCoreAsync(RequestId, ...) overload instead.")]
protected System.Threading.Tasks.Task<TResult> InvokeCoreAsync<TResult> (long? id, string targetName, System.Collections.Generic.IReadOnlyList<object?>? arguments, System.Threading.CancellationToken cancellationToken);
member this.InvokeCoreAsync : Nullable<int64> * string * System.Collections.Generic.IReadOnlyList<obj> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
[<System.Obsolete("Use the InvokeCoreAsync(RequestId, ...) overload instead.")>]
member this.InvokeCoreAsync : Nullable<int64> * string * System.Collections.Generic.IReadOnlyList<obj> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Protected Function InvokeCoreAsync(Of TResult) (id As Nullable(Of Long), targetName As String, arguments As IReadOnlyList(Of Object), cancellationToken As CancellationToken) As Task(Of TResult)

类型参数

TResult

RPC 方法返回类型。

参数

id
Nullable<Int64>

客户端建立的标识符,必须包含字符串、数字或 NULL 值(如果包含)。 如果未包含,则假定它是通知。

targetName
String

要调用的方法的名称。 不得为 null 或空。

arguments
IReadOnlyList<Object>

要传递给已调用方法的参数。 必须使用所选 IJsonRpcMessageFormatter项对它们进行序列化。 如果 null,则不会传递任何参数。

cancellationToken
CancellationToken

取消的令牌应发出服务器停止处理此请求的信号。

返回

Task<TResult>

其结果为来自 JSON-RPC 服务器的反序列化响应的任务。

属性

适用于

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

调用指定的 RPC 方法。

protected System.Threading.Tasks.Task<TResult> InvokeCoreAsync<TResult> (StreamJsonRpc.RequestId id, string targetName, System.Collections.Generic.IReadOnlyList<object?>? arguments, System.Threading.CancellationToken cancellationToken, bool isParameterObject);
member this.InvokeCoreAsync : StreamJsonRpc.RequestId * string * System.Collections.Generic.IReadOnlyList<obj> * System.Threading.CancellationToken * bool -> System.Threading.Tasks.Task<'Result>
Protected Function InvokeCoreAsync(Of TResult) (id As RequestId, targetName As String, arguments As IReadOnlyList(Of Object), cancellationToken As CancellationToken, isParameterObject As Boolean) As Task(Of TResult)

类型参数

TResult

RPC 方法返回类型。

参数

id
RequestId

客户端建立的标识符。 如果给定了默认值,则假定它是通知。

targetName
String

要调用的方法的名称。

arguments
IReadOnlyList<Object>

要传递给已调用方法的参数。 如果为 null,则不会传递任何参数。

cancellationToken
CancellationToken

取消的令牌应发出服务器停止处理此请求的信号。

isParameterObject
Boolean

指示是否应将参数作为对象传递的值。

返回

Task<TResult>

其结果为来自 JSON-RPC 服务器的反序列化响应的任务。

适用于

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

调用指定的 RPC 方法

protected virtual System.Threading.Tasks.Task<TResult> InvokeCoreAsync<TResult> (int? id, string targetName, System.Collections.Generic.IReadOnlyList<object> arguments, System.Threading.CancellationToken cancellationToken, bool isParameterObject);
abstract member InvokeCoreAsync : Nullable<int> * string * System.Collections.Generic.IReadOnlyList<obj> * System.Threading.CancellationToken * bool -> System.Threading.Tasks.Task<'Result>
override this.InvokeCoreAsync : Nullable<int> * string * System.Collections.Generic.IReadOnlyList<obj> * System.Threading.CancellationToken * bool -> System.Threading.Tasks.Task<'Result>
Protected Overridable Function InvokeCoreAsync(Of TResult) (id As Nullable(Of Integer), targetName As String, arguments As IReadOnlyList(Of Object), cancellationToken As CancellationToken, isParameterObject As Boolean) As Task(Of TResult)

类型参数

TResult

RPC 方法返回类型

参数

id
Nullable<Int32>

客户端建立的标识符,必须包含字符串、数字或 NULL 值(如果包含)。 如果未包含,则假定它是通知。

targetName
String

要调用的方法的名称。

arguments
IReadOnlyList<Object>

要传递给已调用方法的参数。 如果为 null,则不会传递任何参数。

cancellationToken
CancellationToken

取消的令牌应发出服务器停止处理此请求的信号。

isParameterObject
Boolean

指示是否应将参数作为对象传递的值。

返回

Task<TResult>

其结果为来自 JSON-RPC 服务器的反序列化响应的任务。

适用于

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

注意

Use the InvokeCoreAsync(RequestId, ...) overload instead.

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

protected System.Threading.Tasks.Task<TResult> InvokeCoreAsync<TResult> (long? id, string targetName, System.Collections.Generic.IReadOnlyList<object> arguments, System.Threading.CancellationToken cancellationToken, bool isParameterObject);
[System.Obsolete("Use the InvokeCoreAsync(RequestId, ...) overload instead.")]
protected System.Threading.Tasks.Task<TResult> InvokeCoreAsync<TResult> (long? id, string targetName, System.Collections.Generic.IReadOnlyList<object?>? arguments, System.Threading.CancellationToken cancellationToken, bool isParameterObject);
member this.InvokeCoreAsync : Nullable<int64> * string * System.Collections.Generic.IReadOnlyList<obj> * System.Threading.CancellationToken * bool -> System.Threading.Tasks.Task<'Result>
[<System.Obsolete("Use the InvokeCoreAsync(RequestId, ...) overload instead.")>]
member this.InvokeCoreAsync : Nullable<int64> * string * System.Collections.Generic.IReadOnlyList<obj> * System.Threading.CancellationToken * bool -> System.Threading.Tasks.Task<'Result>
Protected Function InvokeCoreAsync(Of TResult) (id As Nullable(Of Long), targetName As String, arguments As IReadOnlyList(Of Object), cancellationToken As CancellationToken, isParameterObject As Boolean) As Task(Of TResult)

类型参数

TResult

RPC 方法返回类型。

参数

id
Nullable<Int64>

客户端建立的标识符。 如果给定了默认值,则假定它是通知。

targetName
String

要调用的方法的名称。 不得为 null 或空。

arguments
IReadOnlyList<Object>

要传递给已调用方法的参数。 必须使用所选 IJsonRpcMessageFormatter项对它们进行序列化。 如果 null,则不会传递任何参数。

cancellationToken
CancellationToken

取消的令牌应发出服务器停止处理此请求的信号。

isParameterObject
Boolean

指示是否应将参数作为对象传递的值。

返回

Task<TResult>

其结果为来自 JSON-RPC 服务器的反序列化响应的任务。

属性

适用于

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

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

protected System.Threading.Tasks.Task<TResult> InvokeCoreAsync<TResult> (StreamJsonRpc.RequestId id, string targetName, System.Collections.Generic.IReadOnlyList<object?>? arguments, System.Collections.Generic.IReadOnlyList<Type>? positionalArgumentDeclaredTypes, System.Collections.Generic.IReadOnlyDictionary<string,Type>? namedArgumentDeclaredTypes, System.Threading.CancellationToken cancellationToken, bool isParameterObject);
member this.InvokeCoreAsync : StreamJsonRpc.RequestId * string * System.Collections.Generic.IReadOnlyList<obj> * System.Collections.Generic.IReadOnlyList<Type> * System.Collections.Generic.IReadOnlyDictionary<string, Type> * System.Threading.CancellationToken * bool -> System.Threading.Tasks.Task<'Result>
Protected Function InvokeCoreAsync(Of TResult) (id As RequestId, targetName As String, arguments As IReadOnlyList(Of Object), positionalArgumentDeclaredTypes As IReadOnlyList(Of Type), namedArgumentDeclaredTypes As IReadOnlyDictionary(Of String, Type), cancellationToken As CancellationToken, isParameterObject As Boolean) As Task(Of TResult)

类型参数

TResult

RPC 方法返回类型。

参数

id
RequestId

客户端建立的标识符。 如果给定了默认值,则假定它是通知。

targetName
String

要调用的方法的名称。 不得为 null 或空。

arguments
IReadOnlyList<Object>

要传递给已调用方法的参数。 必须使用所选 IJsonRpcMessageFormatter项对它们进行序列化。 如果 null,则不会传递任何参数。

positionalArgumentDeclaredTypes
IReadOnlyList<Type>

描述服务器应如何键入每个元素arguments的对象列表Type。 如果指定,则必须具有与不包含null任何元素完全相同的长度arguments。 如果 isParameterObject 为 true,则忽略此值。

namedArgumentDeclaredTypes
IReadOnlyDictionary<String,Type>

一个Type对象字典,描述服务器预期在唯一元素argumentsIReadOnlyDictionary<TKey,TValue>提供的每个条目如何键入。 如果指定,则必须具有与第一个元素 arguments中包含的字典完全相同的键集,并且不包含 null 任何值。

cancellationToken
CancellationToken

取消的令牌应发出服务器停止处理此请求的信号。

isParameterObject
Boolean

指示是否应将参数作为对象传递的值。

返回

Task<TResult>

使用 JSON-RPC 服务器的响应完成的任务。

例外

取消后 cancellationToken 引发。 如果请求已传输,则只有在服务器收到取消通知并响应该请求后才会引发异常。 如果服务器完成请求而不是取消,则不会引发此异常。 在收到响应之前连接断开时,如果 cancellationToken 已取消,则会引发此异常。

可能引发的各种 RPC 异常的常见基类。 一些常见的派生类型单独列出。

当从服务器返回错误时引发,因为执行请求的方法。

当服务器报告未找到匹配方法调用时引发。

如果 targetName 为 null。

当为空时 targetName 引发。

如果此实例 JsonRpc 已在此调用之前释放。

当连接在请求之前) 或请求正在进行时终止连接 (时,除非已发出信号, cancellationToken 否则在连接终止时引发。

(引发 IJsonRpcMessageFormatter 的任何异常通常由于序列化失败而) 。 使用 JsonMessageFormatter 时应为 Newtonsoft.Json.JsonSerializationException。 使用 MessagePackFormatter 时应为 MessagePack.MessagePackSerializationException

适用于