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>

物件清單 Type ,描述伺服器預期中 arguments 每個元素的型別。 如果指定的話,這必須與 完全相同的長度 arguments ,且不包含任何 null 元素。 當 為 true 時 isParameterObject ,會忽略此值。

namedArgumentDeclaredTypes
IReadOnlyDictionary<String,Type>

物件的字典 Type ,描述 伺服器預期在 中唯一元素 arguments 中提供的每個專案 IReadOnlyDictionary<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

適用於