Compartilhar via


MessagePackFormatter Classe

Definição

Serializa mensagens JSON-RPC usando MessagePack (um formato binário rápido e compacto).

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
Herança
MessagePackFormatter
Implementações

Comentários

A implementação do MessagePack usada aqui vem de https://github.com/neuecc/MessagePack-CSharp. O README nesse site de projeto descreve casos de uso e seu desempenho em comparação com implementações alternativas do .NET MessagePack e este parece ser o melhor de longe.

Construtores

MessagePackFormatter()

Inicializa uma nova instância da classe MessagePackFormatter.

Propriedades

DefaultUserDataSerializationOptions

Obtém o padrão MessagePack.MessagePackSerializerOptions usado para dados do usuário (argumentos, valores de retorno e erros) em chamadas RPC antes de qualquer chamada para SetMessagePackSerializerOptions(MessagePackSerializerOptions).

MultiplexingStream

Obtém ou define o MultiplexingStream que pode ser usado para estabelecer comunicação fora da banda (por exemplo, argumentos marshal IDuplexPipe ).

Métodos

Deserialize(ReadOnlySequence<Byte>)

Desserializa um JsonRpcMessage.

Dispose()

Serializa mensagens JSON-RPC usando MessagePack (um formato binário rápido e compacto).

Dispose(Boolean)

Descarta recursos gerenciados e nativos mantidos por essa instância.

GetJsonText(JsonRpcMessage)

Obtém uma representação JSON para uma determinada mensagem para fins de rastreamento.

Serialize(IBufferWriter<Byte>, JsonRpcMessage)

Serializa um JsonRpcMessage.

SetMessagePackSerializerOptions(MessagePackSerializerOptions)

Define o MessagePack.MessagePackSerializerOptions uso para serialização de dados do usuário.

Implantações explícitas de interface

IJsonRpcFormatterState.DeserializingMessageWithId

Obtém a ID da resposta que está sendo desserializada no momento.

IJsonRpcFormatterState.SerializingMessageWithId

Obtém a ID da solicitação ou resposta que está sendo serializada no momento.

IJsonRpcFormatterState.SerializingRequest

Obtém um valor que indica se um JsonRpcRequest está sendo serializado.

IJsonRpcFormatterTracingCallbacks.OnSerializationComplete(JsonRpcMessage, ReadOnlySequence<Byte>)

Serializa mensagens JSON-RPC usando MessagePack (um formato binário rápido e compacto).

IJsonRpcInstanceContainer.Rpc

Define a JsonRpc instância.

IJsonRpcMessageFactory.CreateErrorMessage()

Cria uma instância adequada JsonRpcError para transmissão pelo IJsonRpcMessageFormatter.

IJsonRpcMessageFactory.CreateRequestMessage()

Cria uma instância adequada JsonRpcRequest para transmissão pelo IJsonRpcMessageFormatter.

IJsonRpcMessageFactory.CreateResultMessage()

Cria uma instância adequada JsonRpcResult para transmissão pelo IJsonRpcMessageFormatter.

Aplica-se a