Share via


FormatterBase Class

Definition

A base class for IJsonRpcMessageFormatter implementations that support exotic types.

public abstract class FormatterBase : IDisposable, StreamJsonRpc.IJsonRpcInstanceContainer, StreamJsonRpc.Reflection.IJsonRpcFormatterState
type FormatterBase = class
    interface IJsonRpcFormatterState
    interface IJsonRpcInstanceContainer
    interface IDisposable
Public MustInherit Class FormatterBase
Implements IDisposable, IJsonRpcFormatterState, IJsonRpcInstanceContainer
Inheritance
FormatterBase
Derived
Implements

Constructors

FormatterBase()

Initializes a new instance of the FormatterBase class.

Properties

ApplicableMethodAttributeOnDeserializingMethod

Gets the JsonRpcMethodAttribute that is present on the method that may be invoked to serve the incoming request, when applicable.

DuplexPipeTracker

Gets the helper for marshaling pipes as RPC method arguments.

EnumerableTracker

Gets the helper for marshaling IAsyncEnumerable<T> in RPC method arguments or return values.

FormatterProgressTracker

Gets the MessageFormatterProgressTracker instance containing useful methods to help on the implementation of message formatters.

JsonRpc

Gets the JsonRpc that is associated with this formatter.

MultiplexingStream

Gets or sets the MultiplexingStream that may be used to establish out of band communication (e.g. marshal IDuplexPipe arguments).

Methods

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

Dispose(Boolean)

Disposes managed and native resources held by this instance.

TrackDeserialization(JsonRpcMessage, ReadOnlySpan<ParameterInfo>)

Sets up state to track deserialization of a message.

TrackSerialization(JsonRpcMessage)

Sets up state to track serialization of a message.

Explicit Interface Implementations

IJsonRpcFormatterState.DeserializingMessageWithId

Gets the ID of the response currently being deserialized.

IJsonRpcFormatterState.SerializingMessageWithId

Gets the id of the request or response currently being serialized.

IJsonRpcFormatterState.SerializingRequest

Gets a value indicating whether a JsonRpcRequest is being serialized.

IJsonRpcInstanceContainer.Rpc

Sets the JsonRpc instance.

Applies to