다음을 통해 공유


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)

를 사용하여 JsonMessageFormatter직렬화된 메시지 주위에 를 사용하는 HeaderDelimitedMessageHandler 클래스의 JsonRpc 새 instance 초기화합니다.

JsonRpc(Stream, Stream, Object)

를 사용하여 JsonMessageFormatter직렬화된 메시지 주위에 를 사용하는 HeaderDelimitedMessageHandler 클래스의 JsonRpc 새 instance 초기화합니다.

속성

ActivityTracingStrategy

RPC를 통해 활동 ID를 전파하기 위한 전략을 가져오거나 설정합니다.

AllowModificationWhileListening

이 instance 구성을 호출한 후 StartListening() 변경할 수 있는지 여부를 나타내는 값을 가져오거나 Attach(Stream, Object) 설정합니다.

CancellationStrategy

사용할 취소 전략을 가져오거나 설정합니다.

CancelLocallyInvokedMethodsWhenConnectionIsClosed

원격 파티와의 연결이 닫힌 경우 를 허용하는 로컬로 디스패치된 모든 메서드를 CancellationToken 취소할지 여부를 나타내는 값을 가져오거나 설정합니다.

Completion

Task 이 instance 삭제되거나 오류, 삭제 또는 스트림 닫기 등으로 수신이 중지된 경우 완료되는 을 가져옵니다.

DispatchCompletion

Task RPC 호출에서 로컬 대상 메서드가 실행되지 않을 때 완료되는 을 가져옵니다.

Encoding

전송된 JSON 메시지에 사용할 인코딩을 가져오거나 설정합니다.

ExceptionStrategy

RPC 서버에서 throw된 예외를 RPC 클라이언트가 역직렬화할 수 있도록 완전히 직렬화해야 하는지 여부를 나타내는 값을 가져오거나 설정합니다.

IsDisposed

를 통해 Stream다른 엔터티와의 JSON-RPC 연결을 관리합니다.

JsonSerializer

JsonSerializer 메서드 인수 및 반환 값을 serialize 및 역직렬화할 때 사용되는 를 가져옵니다.

JsonSerializerFormatting

JSON-RPC 메시지를 serialize할 때 사용할 서식을 가져오거나 설정합니다.

MessageHandler

메시지를 보내고 받는 데 사용되는 메시지 처리기를 가져옵니다.

SynchronizationContext

원격 당사자가 SynchronizationContext 요청한 메서드를 호출할 때 사용할 를 가져오거나 설정합니다.

TraceSource

JSON-RPC 메시지 및 이벤트를 추적하는 데 사용되는 를 가져오거나 설정합니다 TraceSource .

메서드

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)

를 사용하여 JsonMessageFormatter직렬화된 메시지 주위에 를 사용하고 HeaderDelimitedMessageHandler 즉시 수신 대기를 시작하는 클래스의 JsonRpc 새 instance 초기화합니다.

Attach(Stream, Stream, Object)

를 사용하여 JsonMessageFormatter직렬화된 메시지 주위에 를 사용하고 HeaderDelimitedMessageHandler 즉시 수신 대기를 시작하는 클래스의 JsonRpc 새 instance 초기화합니다.

Attach(Type)

지정된 서버 인터페이스를 준수하는 JSON-RPC 클라이언트 프록시를 만듭니다.

Attach(Type, JsonRpcProxyOptions)

지정된 서버 인터페이스를 준수하는 JSON-RPC 클라이언트 프록시를 만듭니다.

Attach<T>()

지정된 서버 인터페이스를 준수하는 JSON-RPC 클라이언트 프록시를 만듭니다.

Attach<T>(IJsonRpcMessageHandler)

지정된 서버 인터페이스를 준수하는 JSON-RPC 클라이언트 프록시를 만듭니다.

Attach<T>(IJsonRpcMessageHandler, JsonRpcProxyOptions)

지정된 서버 인터페이스를 준수하는 JSON-RPC 클라이언트 프록시를 만듭니다.

Attach<T>(JsonRpcProxyOptions)

지정된 서버 인터페이스를 준수하는 JSON-RPC 클라이언트 프록시를 만듭니다.

Attach<T>(Stream)

지정된 서버 인터페이스를 준수하는 JSON-RPC 클라이언트 프록시를 만듭니다.

Attach<T>(Stream, Stream)

지정된 서버 인터페이스를 준수하는 JSON-RPC 클라이언트 프록시를 만듭니다.

CreateErrorDetails(JsonRpcRequest, Exception)

JsonRpcError.ErrorDetail 로컬로 호출된 RPC 메서드에서 throw되는 예외에 대한 응답으로 클라이언트에 다시 보낼 오류 속성의 값으로 사용할 을 만듭니다.

CreateExceptionFromRpcError(JsonRpcRequest, JsonRpcError)

RemoteRpcException JSON-RPC 오류 응답에 있는 데이터를 나타내는 (또는 파생된 형식)을 만듭니다. 이는 RPC 클라이언트에 다시 throw될 예외를 생성하기 위해 클라이언트 쪽에서 호출됩니다.

CreateNewRequestId()

아웃바운드 요청에 대한 고유한 RequestId 을 만듭니다.

DispatchRequestAsync(JsonRpcRequest, TargetMethod, CancellationToken)

로컬 RPC 대상 개체에서 메서드를 호출하고 응답을 JSON-RPC 결과 메시지로 변환합니다.

Dispose()

관리되지 않는 리소스의 확보, 해제 또는 다시 설정과 관련된 애플리케이션 정의 작업을 수행합니다.

Dispose(Boolean)

이 instance 보유한 관리 및 네이티브 리소스를 삭제합니다.

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)

서버에서 예외를 throw할 때 연결을 닫아야 하는지 여부를 나타냅니다.

LoadType(String, String)

전체 이름과 어셈블리 이름에 따라 형식을 로드하려고 시도합니다.

NotifyAsync(String, Object)

응답을 기다리지 않고 JSON-RPC 서버에서 지정된 메서드를 호출합니다.

NotifyAsync(String, Object[])

서버에서 메서드를 호출하고 완료된 fire-and-forget 스타일을 기다리지 마세요.

NotifyAsync(String, Object[], IReadOnlyList<Type>)

응답을 기다리지 않고 JSON-RPC 서버에서 지정된 메서드를 호출합니다.

NotifyWithParameterObjectAsync(String, Object)

서버에서 메서드를 호출하고 완료된 fire-and-forget 스타일을 기다리지 마세요. 매개 변수는 개체로 전달됩니다.

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 연결을 관리합니다.

적용 대상