語言

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
實作

建構函式

名稱 Description
JsonRpc(DelimitedMessageHandler, Object)

初始化 JsonRpc 類別的新實例。

JsonRpc(IJsonRpcMessageHandler, Object)

初始化 JsonRpc 類別的新實例。

JsonRpc(IJsonRpcMessageHandler)

初始化 JsonRpc 類別的新實例。

JsonRpc(Stream, Stream, Object)

初始化 JsonRpc 類別的新實例,這個實例會使用使用 HeaderDelimitedMessageHandler串行化之訊息周圍的 JsonMessageFormatter。

JsonRpc(Stream)

初始化 JsonRpc 類別的新實例,這個實例會使用使用 HeaderDelimitedMessageHandler串行化之訊息周圍的 JsonMessageFormatter。

屬性

名稱 Description
ActivityTracingStrategy

取得或設定透過 RPC 傳播活動標識碼的策略。

AllowModificationWhileListening

取得或設定值,指出呼叫 StartListening() 或 Attach(Stream, Object) 之後,是否可以變更這個實例的組態。

CancellationStrategy

取得或設定要使用的取消策略。

CancelLocallyInvokedMethodsWhenConnectionIsClosed

取得或設定值,指出是否取消在本機分派的所有方法,以在關閉與遠端合作對象的連線時接受 CancellationToken。

Completion

取得 Task,這個 Task 會在處置這個實例時完成,或當接聽已停止時,無論是錯誤、處置還是數據流關閉。

DispatchCompletion

取得當沒有從 RPC 呼叫執行本機目標方法時完成的 Task。

Encoding

取得或設定要用於傳輸 JSON 訊息的編碼方式。

ExceptionOptions

取得或設定用於序列化/反序列化例外的設定。

ExceptionStrategy

取得或設定值,指出 RPC 伺服器擲回的例外狀況是否應該完全串行化,讓 RPC 用戶端接著還原串行化。

IsDisposed

透過 Stream管理與另一個實體的 JSON-RPC 連線。

JoinableTaskFactory

取得或設定 JoinableTaskFactory 參與 ,以減少與主執行緒的死結。

JoinableTaskTracker

取得或設定 JsonRpc.JoinableTaskTokenTracker 用來關聯 JoinableTask 標記。 此性質僅適用於 JoinableTaskFactory 。null

JsonSerializer

取得串行化和還原串行化方法自變數和傳回值時所使用的 JsonSerializer。

JsonSerializerFormatting

取得或設定串行化 JSON-RPC 訊息時要使用的格式設定。

MessageHandler

取得用來傳送和接收訊息的訊息處理程式。

SynchronizationContext

取得或設定在叫用遠端合作物件要求的方法時要使用的 SynchronizationContext。

TraceSource

取得或設定用來追蹤 JSON-RPC 訊息和事件的 TraceSource。

方法

名稱 Description
AddLocalRpcMethod(MethodInfo, Object, JsonRpcMethodAttribute)

新增具有指定名稱之 RPC 方法的處理程式。

AddLocalRpcMethod(String, Delegate)

新增具有指定名稱之 RPC 方法的處理程式。

AddLocalRpcMethod(String, MethodInfo, Object)

新增具有指定名稱之 RPC 方法的處理程式。

AddLocalRpcTarget(Object, JsonRpcTargetOptions)

將指定的目標新增為接收傳入訊息時要叫用的物件。 目標物件不應彼此繼承,而且會依新增的順序叫用。

AddLocalRpcTarget(Object)

將指定的目標新增為接收傳入訊息時要叫用的物件。 目標物件不應彼此繼承,而且會依新增的順序叫用。

AddLocalRpcTarget(Type, Object, JsonRpcTargetOptions)

透過 Stream管理與另一個實體的 JSON-RPC 連線。

AddLocalRpcTarget<T>(T, JsonRpcTargetOptions)

透過 Stream管理與另一個實體的 JSON-RPC 連線。

AddRemoteRpcTarget(JsonRpc)

新增遠端 rpc 連線,以便在本機目標未處理時,將呼叫轉送至遠端目標。

Attach(ReadOnlySpan<Type>, JsonRpcProxyOptions)

建立符合指定伺服器介面的 JSON-RPC 用戶端代理。

Attach(Stream, Object)

初始化 JsonRpc 類別的新實例,這個實例會使用 HeaderDelimitedMessageHandler串行化的訊息周圍 JsonMessageFormatter,並立即開始接聽。

Attach(Stream, Stream, Object)

初始化 JsonRpc 類別的新實例,這個實例會使用 HeaderDelimitedMessageHandler串行化的訊息周圍 JsonMessageFormatter,並立即開始接聽。

Attach(Type, JsonRpcProxyOptions)

建立符合指定伺服器介面 JSON-RPC 用戶端 Proxy。

Attach(Type)

建立符合指定伺服器介面 JSON-RPC 用戶端 Proxy。

Attach<T>()

建立符合指定伺服器介面 JSON-RPC 用戶端 Proxy。

Attach<T>(IJsonRpcMessageHandler, JsonRpcProxyOptions)

建立符合指定伺服器介面 JSON-RPC 用戶端 Proxy。

Attach<T>(IJsonRpcMessageHandler)

建立符合指定伺服器介面 JSON-RPC 用戶端 Proxy。

Attach<T>(JsonRpcProxyOptions)

建立符合指定伺服器介面 JSON-RPC 用戶端 Proxy。

Attach<T>(Stream, Stream)

建立符合指定伺服器介面 JSON-RPC 用戶端 Proxy。

Attach<T>(Stream)

建立符合指定伺服器介面 JSON-RPC 用戶端 Proxy。

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)

針對傳入 Data 訊息,判斷 JsonRpcError 對象應該還原串行化為的類型。

GetJsonRpcMethodAttribute(String, ReadOnlySpan<ParameterInfo>)

取得先前探索到的 RPC 方法的 JsonRpcMethodAttribute,如果有的話。

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, Boolean)

叫用指定的 RPC 方法

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

叫用指定的 RPC 方法

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

在 JSON-RPC 伺服器上叫用指定的方法。

InvokeCoreAsync<TResult>(Nullable<Int64>, String, IReadOnlyList<Object>, CancellationToken)
已淘汰.

叫用指定的 RPC 方法。

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

叫用指定的 RPC 方法。

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

叫用指定的 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[], IReadOnlyList<Type>)

在 JSON-RPC 伺服器上叫用指定的方法,而不需等候其回應。

NotifyAsync(String, Object[])

在伺服器上叫用方法,不要等待其完成、引發和忘記樣式。

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

在 JSON-RPC 伺服器上叫用指定的方法,而不需等候其回應。

NotifyWithParameterObjectAsync(String, Object)

在伺服器上叫用方法,不要等待其完成、引發和忘記樣式。 參數會當做 對象傳遞。

OnRequestTransmissionAborted(JsonRpcRequest)

引發 RequestTransmissionAborted 事件。

OnResponseReceived(JsonRpcMessage)

引發 ResponseReceived 事件。

OnResponseSent(JsonRpcMessage)

引發 ResponseSent 事件。

SendAsync(JsonRpcMessage, CancellationToken)

將 JSON-RPC 訊息傳送給 IJsonRpcMessageHandler intance。

StartListening()

開始接聽傳入訊息。

事件

名稱 Description
Disconnected

當基礎數據流中斷連線時引發。

明確介面實作

名稱 Description
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 連線。

適用於