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 傳播活動識別碼的策略。

AllowModificationWhileListening

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

CancellationStrategy

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

CancelLocallyInvokedMethodsWhenConnectionIsClosed

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

Completion

取得 , Task 這個實例會在處置這個實例時完成,或當接聽已依錯誤、處置或資料流程關閉而停止時完成。

DispatchCompletion

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

Encoding

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

ExceptionStrategy

取得或設定值,指出 RPC 伺服器是否應該完全序列化 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 用戶端 Proxy。

Attach(Type, JsonRpcProxyOptions)

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

Attach<T>()

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

Attach<T>(IJsonRpcMessageHandler)

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

Attach<T>(IJsonRpcMessageHandler, JsonRpcProxyOptions)

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

Attach<T>(JsonRpcProxyOptions)

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

Attach<T>(Stream)

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

Attach<T>(Stream, 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()

執行與釋放 (Free)、釋放 (Release) 或重設 Unmanaged 資源相關聯之應用程式定義的工作。

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 連線。

適用於