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
继承
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

适用于