JsonRpc.InvokeCoreAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
InvokeCoreAsync<TResult>(RequestId, String, IReadOnlyList<Object>, CancellationToken)
- 來源:
- JsonRpc.cs
- 來源:
- JsonRpc.cs
- 來源:
- JsonRpc.cs
叫用指定的 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
取消的令牌應該會通知伺服器停止處理此要求。
傳回
工作,其結果為來自 JSON-RPC 伺服器的還原串行化回應。
適用於
InvokeCoreAsync<TResult>(Nullable<Int32>, String, IReadOnlyList<Object>, CancellationToken)
- 來源:
- JsonRpc.cs
叫用指定的 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 方法傳回類型
參數
- targetName
- String
要叫用的方法名稱。
- arguments
- IReadOnlyList<Object>
要傳遞至叫用方法的自變數。 如果為 null,則不會傳遞任何自變數。
- cancellationToken
- CancellationToken
取消的令牌應該會通知伺服器停止處理此要求。
傳回
工作,其結果為來自 JSON-RPC 伺服器的還原串行化回應。
適用於
InvokeCoreAsync<TResult>(Nullable<Int64>, String, IReadOnlyList<Object>, CancellationToken)
- 來源:
- JsonRpc.cs
- 來源:
- JsonRpc.cs
- 來源:
- JsonRpc.cs
- 來源:
- JsonRpc.cs
- 來源:
- JsonRpc.cs
- 來源:
- JsonRpc.cs
警告
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 方法傳回類型。
參數
- targetName
- String
要叫用的方法名稱。 不得為 Null 或空白。
- arguments
- IReadOnlyList<Object>
要傳遞至叫用方法的自變數。 必須使用選取的 IJsonRpcMessageFormatter串行化它們。 如果 null,則不會傳遞任何自變數。
- cancellationToken
- CancellationToken
取消的令牌應該會通知伺服器停止處理此要求。
傳回
工作,其結果為來自 JSON-RPC 伺服器的還原串行化回應。
- 屬性
適用於
InvokeCoreAsync<TResult>(RequestId, String, IReadOnlyList<Object>, CancellationToken, Boolean)
- 來源:
- JsonRpc.cs
- 來源:
- JsonRpc.cs
- 來源:
- JsonRpc.cs
叫用指定的 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
值,指出參數是否應該當做 對象傳遞。
傳回
工作,其結果為來自 JSON-RPC 伺服器的還原串行化回應。
適用於
InvokeCoreAsync<TResult>(Nullable<Int32>, String, IReadOnlyList<Object>, CancellationToken, Boolean)
- 來源:
- JsonRpc.cs
叫用指定的 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 方法傳回類型
參數
- targetName
- String
要叫用的方法名稱。
- arguments
- IReadOnlyList<Object>
要傳遞至叫用方法的自變數。 如果為 null,則不會傳遞任何自變數。
- cancellationToken
- CancellationToken
取消的令牌應該會通知伺服器停止處理此要求。
- isParameterObject
- Boolean
值,指出參數是否應該當做 對象傳遞。
傳回
工作,其結果為來自 JSON-RPC 伺服器的還原串行化回應。
適用於
InvokeCoreAsync<TResult>(Nullable<Int64>, String, IReadOnlyList<Object>, CancellationToken, Boolean)
- 來源:
- JsonRpc.cs
- 來源:
- JsonRpc.cs
- 來源:
- JsonRpc.cs
- 來源:
- JsonRpc.cs
- 來源:
- JsonRpc.cs
- 來源:
- JsonRpc.cs
警告
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 方法傳回類型。
參數
- targetName
- String
要叫用的方法名稱。 不得為 Null 或空白。
- arguments
- IReadOnlyList<Object>
要傳遞至叫用方法的自變數。 必須使用選取的 IJsonRpcMessageFormatter串行化它們。 如果 null,則不會傳遞任何自變數。
- cancellationToken
- CancellationToken
取消的令牌應該會通知伺服器停止處理此要求。
- isParameterObject
- Boolean
值,指出參數是否應該當做 對象傳遞。
傳回
工作,其結果為來自 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 專案。
當 isParameterObject 為 true 時,會忽略此值。
- namedArgumentDeclaredTypes
- IReadOnlyDictionary<String,Type>
Type 物件的字典,描述伺服器預期伺服器預期在 IReadOnlyDictionary<TKey,TValue> 唯一元素中提供之 arguments 中的每個專案。
如果指定,這必須有與 arguments第一個元素中包含的字典完全相同的索引鍵集,而且不包含任何 null 值。
- cancellationToken
- CancellationToken
取消的令牌應該會通知伺服器停止處理此要求。
- isParameterObject
- Boolean
值,指出參數是否應該當做 對象傳遞。
傳回
從 JSON-RPC 伺服器回應完成的工作。
例外狀況
取消 cancellationToken 之後擲回。
如果已傳輸要求,則只有在伺服器收到取消通知並回應之後,才會擲回例外狀況。
如果伺服器完成要求而不是取消,將不會擲回此例外狀況。
當連線在收到回應之前卸除時,如果已取消 cancellationToken,就會擲回此例外狀況。
可能擲回之各種 RPC 例外狀況的通用基類。 一些常見的衍生類型會個別列出。
在執行要求的方法時,從伺服器傳回錯誤時擲回。
當伺服器報告找不到相符方法叫用時擲回。
如果 targetName 為 null。
當 targetName 是空的時擲回。
如果這個實例的 JsonRpc 已在呼叫之前處置。
除非已發出 cancellationToken 訊號,否則在要求進行之前終止連接時擲回 。除非已發出 cancellationToken。
IJsonRpcMessageFormatter 擲回的任何例外狀況(通常是因為串行化失敗所致)。 使用 JsonMessageFormatter 時,應該 Newtonsoft.Json.JsonSerializationException。 使用 MessagePackFormatter 時,應該 MessagePack.MessagePackSerializationException。