StreamJsonRpc Namespace

Classes

ActivityTracingStrategy

Synchronizes activities as set by the Activity class over RPC.

BadRpcHeaderException

An exception thrown when a deserialized message has a bad header.

CommonMethodNameTransforms

Common RPC method transform functions that may be supplied to AddLocalRpcTarget(Object, JsonRpcTargetOptions) by way of MethodNameTransform.

ConnectionLostException

An exception used to fault a Task returned from a JsonRpc request when the request could not be completed or the response cannot be received because the connection dropped.

CorrelationManagerTracingStrategy

Synchronizes activities as set by the CorrelationManager class over RPC.

DelimitedMessageHandler

An abstract base class for for sending and receiving distinct string messages over a channel that provides no natural boundaries and no built-in character encoding.

ExceptionSettings

Contains security-related settings that influence how errors are serialized and deserialized.

FormatterBase

A base class for IJsonRpcMessageFormatter implementations that support exotic types.

FormatterBase.JsonRpcErrorBase

A base class for formatter-specific JsonRpcError implementations.

FormatterBase.JsonRpcRequestBase

A base class for formatter-specific JsonRpcRequest implementations.

FormatterBase.JsonRpcResultBase

A base class for formatter-specific JsonRpcResult implementations.

FormatterBase.TopLevelPropertyBagBase

A base class for top-level property bags that should be declared in the derived formatter class.

HeaderDelimitedMessageHandler

Adds headers before each text message transmitted over a stream.

JsonMessageFormatter

Uses Newtonsoft.Json serialization to serialize JsonRpcMessage as JSON (text).

JsonRpc

Manages a JSON-RPC connection with another entity over a Stream.

JsonRpc.JoinableTaskTokenTracker

An object that correlates JoinableTask tokens within and between JsonRpc instances within a process that does not use JoinableTaskFactory, for purposes of mitigating deadlocks in processes that do use JoinableTaskFactory.

JsonRpcDisconnectedEventArgs

Describes the reason behind a disconnection with the remote party.

JsonRpcEnumerableSettings

Provides customizations on performance characteristics of an IAsyncEnumerable<T> that is passed over JSON-RPC.

JsonRpcExtensions

Extension methods for use with JsonRpc.

JsonRpcIgnoreAttribute

Attribute which identifies methods that should not be invokable over RPC.

JsonRpcMethodAttribute

Attribute which changes the name by which this method can be invoked over JSON-RPC. If applied on a method, the method's CLR name can no longer be used for remote invocation.

JsonRpcProxyOptions

Options that may customize how a dynamically generated client proxy object calls into a JsonRpc instance.

JsonRpcTargetOptions

Options that may customize how a target object is added to a JsonRpc instance.

LengthHeaderMessageHandler

A minimal header for each message that simply declares content length.

LocalRpcException

An exception that may be thrown within a locally invoked server method, and carries with it data that influences the JSON-RPC error message's error object.

MessageHandlerBase

An abstract base class for for sending and receiving messages.

MessagePackFormatter

Serializes JSON-RPC messages using MessagePack (a fast, compact binary format).

NewLineDelimitedMessageHandler

A JSON-RPC message handler that delimits messages with new lines.

PipeMessageHandler

An abstract base class for for sending and receiving messages using PipeReader and PipeWriter.

RemoteInvocationException

Remote RPC exception that indicates that the server target method threw an exception.

RemoteMethodNotFoundException

Remote RPC exception that indicates that the requested target method was not found on the server.

RemoteRpcException

Base exception class for any exception that happens while receiving an JSON-RPC communication.

RemoteSerializationException

An exception thrown from back to the client from various JsonRpc request methods when the server failed to serialize the response.

RemoteTargetNotSetException

Remote RPC exception that indicates that the server has no target object.

RpcArgumentDeserializationException

An exception thrown from TryGetArgumentByNameOrIndex(String, Int32, Type, Object) when the argument cannot be deserialized to the requested type, typically due to an incompatibility or exception thrown from the deserializer.

RpcMarshalableAttribute

Designates an interface that is used in an RPC contract to marshal the object so the receiver can invoke remote methods on it instead of serializing the object to send its data to the remote end.

RpcMarshalableOptionalInterfaceAttribute

Attribute to be used on an interface marked with RpcMarshalableAttribute to indicate that the marshalable object may also implement the interface OptionalInterface.

StreamMessageHandler

An abstract base class for for sending and receiving messages over a reading and writing pair of Stream objects.

SystemTextJsonFormatter

A formatter that emits UTF-8 encoded JSON where user data should be serializable via the JsonSerializer.

TargetMethod

Represents the dispatch target of an incoming request.

UnrecognizedJsonRpcMessageException

An exception thrown when an incoming JSON-RPC message could not be recognized as conforming to any known JSON-RPC message.

WebSocketMessageHandler

A message handler for the JsonRpc class that uses WebSocket as the transport.

Structs

FormatterBase.DeserializationTracking

Tracks deserialization of a message.

FormatterBase.SerializationTracking

Tracks serialization of a message.

RequestId

Represents the ID of a request, whether it is a number or a string.

Interfaces

FormatterBase.IMessageWithTopLevelPropertyBag

An interface implemented by all the JsonRpcMessage-derived nested types (FormatterBase.JsonRpcRequestBase, FormatterBase.JsonRpcResultBase, FormatterBase.JsonRpcErrorBase) to allow them to carry arbitrary top-level properties on behalf of the application.

IActivityTracingStrategy

Synchronizes contextual activities between an RPC client and server consistent with the W3C Trace Context specification.

ICancellationStrategy

Defines an extensibility point by which RPC methods may be canceled using CancellationToken.

IJsonRpcAsyncMessageFormatter

An interface that offers JsonRpcMessage serialization to an IBufferWriter<T> and asynchronous deserialization.

IJsonRpcAsyncMessageTextFormatter

An interface that offers JsonRpcMessage serialization to an IBufferWriter<T> and asynchronous deserialization and formats messages as JSON (text).

IJsonRpcClientProxy

Implemented by dynamically generated proxies returned from Attach<T>(IJsonRpcMessageHandler, JsonRpcProxyOptions) and its overloads to provide access to additional JSON-RPC functionality.

IJsonRpcInstanceContainer

Interface optionally implemented by IJsonRpcMessageFormatter implementations that need a reference to their owner JsonRpc class.

IJsonRpcMessageFactory

An interface that allows IJsonRpcMessageFormatter instances to act as a factory for JsonRpcMessage-derived types.

IJsonRpcMessageFormatter

An interface that offers JsonRpcMessage serialization to and from a sequence of bytes.

IJsonRpcMessageHandler

The contract for sending and receiving JSON-RPC messages.

IJsonRpcMessageTextFormatter

An IJsonRpcMessageFormatter that formats messages as JSON (text).

Enums

DisconnectedReason

Identifies a reason for a stream disconnection.

ExceptionProcessing

Enumerates the exception handling behaviors that are built into the JsonRpc class.

JsonRpc.TraceEvents

Event IDs raised to our TraceSource.

NewLineDelimitedMessageHandler.NewLineStyle

Describes the supported styles of new lines that can be written.