MessagePackFormatter 类

定义

使用 MessagePack (快速压缩的二进制格式) 序列化 JSON-RPC 消息。

public class MessagePackFormatter : IDisposable, StreamJsonRpc.IJsonRpcInstanceContainer, StreamJsonRpc.IJsonRpcMessageFormatter, StreamJsonRpc.Reflection.IJsonRpcFormatterState, StreamJsonRpc.Reflection.IJsonRpcFormatterTracingCallbacks
public class MessagePackFormatter : IDisposable, StreamJsonRpc.IJsonRpcInstanceContainer, StreamJsonRpc.IJsonRpcMessageFactory, StreamJsonRpc.IJsonRpcMessageFormatter, StreamJsonRpc.Reflection.IJsonRpcFormatterState, StreamJsonRpc.Reflection.IJsonRpcFormatterTracingCallbacks
type MessagePackFormatter = class
    interface IJsonRpcMessageFormatter
    interface IJsonRpcInstanceContainer
    interface IJsonRpcFormatterState
    interface IJsonRpcFormatterTracingCallbacks
    interface IDisposable
type MessagePackFormatter = class
    interface IJsonRpcMessageFormatter
    interface IJsonRpcInstanceContainer
    interface IJsonRpcFormatterState
    interface IJsonRpcFormatterTracingCallbacks
    interface IJsonRpcMessageFactory
    interface IDisposable
Public Class MessagePackFormatter
Implements IDisposable, IJsonRpcFormatterState, IJsonRpcFormatterTracingCallbacks, IJsonRpcInstanceContainer, IJsonRpcMessageFormatter
Public Class MessagePackFormatter
Implements IDisposable, IJsonRpcFormatterState, IJsonRpcFormatterTracingCallbacks, IJsonRpcInstanceContainer, IJsonRpcMessageFactory, IJsonRpcMessageFormatter
继承
MessagePackFormatter
实现

注解

此处使用的 MessagePack 实现来自 https://github.com/neuecc/MessagePack-CSharp. 与替代的 .NET MessagePack 实现相比,该项目网站上的自述文件描述了用例及其性能,而到目前为止,这种情况似乎是最好的。

构造函数

MessagePackFormatter()

初始化 MessagePackFormatter 类的新实例。

属性

DefaultUserDataSerializationOptions

MessagePack.MessagePackSerializerOptions获取用于用户数据 (参数、返回值和错误) RPC 调用之前的任何调用SetMessagePackSerializerOptions(MessagePackSerializerOptions)

MultiplexingStream

获取或设置 MultiplexingStream 可用于建立带外通信 (例如封送 IDuplexPipe 参数) 。

方法

Deserialize(ReadOnlySequence<Byte>)

反序列化一个 JsonRpcMessage.

Dispose()

使用 MessagePack (快速压缩的二进制格式) 序列化 JSON-RPC 消息。

Dispose(Boolean)

释放此实例持有的托管资源和本机资源。

GetJsonText(JsonRpcMessage)

获取给定消息的 JSON 表示形式,以便进行跟踪。

Serialize(IBufferWriter<Byte>, JsonRpcMessage)

序列化一个 JsonRpcMessage.

SetMessagePackSerializerOptions(MessagePackSerializerOptions)

MessagePack.MessagePackSerializerOptions设置用于用户数据的序列化。

显式接口实现

IJsonRpcFormatterState.DeserializingMessageWithId

获取当前正在反序列化的响应的 ID。

IJsonRpcFormatterState.SerializingMessageWithId

获取当前正在序列化的请求或响应的 ID。

IJsonRpcFormatterState.SerializingRequest

获取一个值,该值指示是否正在序列化。JsonRpcRequest

IJsonRpcFormatterTracingCallbacks.OnSerializationComplete(JsonRpcMessage, ReadOnlySequence<Byte>)

使用 MessagePack (快速压缩的二进制格式) 序列化 JSON-RPC 消息。

IJsonRpcInstanceContainer.Rpc

JsonRpc设置实例。

IJsonRpcMessageFactory.CreateErrorMessage()

创建适合通过传输的IJsonRpcMessageFormatter实例JsonRpcError

IJsonRpcMessageFactory.CreateRequestMessage()

创建适合通过传输的IJsonRpcMessageFormatter实例JsonRpcRequest

IJsonRpcMessageFactory.CreateResultMessage()

创建适合通过传输的IJsonRpcMessageFormatter实例JsonRpcResult

适用于