Show / Hide Table of Contents

    Class JsonMessageSerializer

    Serializes the messages in JSON format and relies on some added headers to determine the message type upon deserialization. This default serializer is ideal when the producer and the consumer are both using Silverback.

    Inheritance
    object
    JsonMessageSerializerBase
    JsonMessageSerializer
    Implements
    IMessageSerializer
    IEquatable<JsonMessageSerializer>
    Inherited Members
    JsonMessageSerializerBase.Options
    object.Equals(object, object)
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Silverback.Messaging.Serialization
    Assembly: Silverback.Integration.dll
    Syntax
    public sealed class JsonMessageSerializer : JsonMessageSerializerBase, IMessageSerializer, IEquatable<JsonMessageSerializer>

    Properties

    | Improve this doc View source

    Default

    Gets the default static instance of JsonMessageSerializer.

    Declaration
    public static JsonMessageSerializer Default { get; }
    Property Value
    Type Description
    JsonMessageSerializer
    | Improve this doc View source

    RequireHeaders

    Gets a value indicating whether headers are mandatory for this serializer implementation or configuration to work properly.

    Declaration
    public override bool RequireHeaders { get; }
    Property Value
    Type Description
    bool
    Overrides
    JsonMessageSerializerBase.RequireHeaders

    Methods

    | Improve this doc View source

    DeserializeAsync(Stream?, MessageHeaderCollection, MessageSerializationContext)

    Deserializes the byte array back into a message object.

    Declaration
    public override ValueTask<(object? Message, Type MessageType)> DeserializeAsync(Stream? messageStream, MessageHeaderCollection messageHeaders, MessageSerializationContext context)
    Parameters
    Type Name Description
    Stream messageStream

    The Stream containing the message to be deserialized.

    MessageHeaderCollection messageHeaders

    The message headers collection.

    MessageSerializationContext context

    The context information.

    Returns
    Type Description
    ValueTask<(object Message, Type MessageType)>

    A Task<TResult> representing the asynchronous operation. The task result contains the deserialized message (or null when the input is null or empty) and the type of the message.

    Overrides
    JsonMessageSerializerBase.DeserializeAsync(Stream?, MessageHeaderCollection, MessageSerializationContext)
    | Improve this doc View source

    Equals(JsonMessageSerializer?)

    Indicates whether the current object is equal to another object of the same type.

    Declaration
    public bool Equals(JsonMessageSerializer? other)
    Parameters
    Type Name Description
    JsonMessageSerializer other

    An object to compare with this object.

    Returns
    Type Description
    bool

    true if the current object is equal to the other parameter; otherwise, false.

    | Improve this doc View source

    Equals(object?)

    Determines whether the specified object is equal to the current object.

    Declaration
    public override bool Equals(object? obj)
    Parameters
    Type Name Description
    object obj

    The object to compare with the current object.

    Returns
    Type Description
    bool

    true if the specified object is equal to the current object; otherwise, false.

    Overrides
    object.Equals(object)
    | Improve this doc View source

    GetHashCode()

    Serves as the default hash function.

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    int

    A hash code for the current object.

    Overrides
    object.GetHashCode()
    | Improve this doc View source

    SerializeAsync(object?, MessageHeaderCollection, MessageSerializationContext)

    Serializes the specified message object into a byte array.

    Declaration
    public override ValueTask<Stream?> SerializeAsync(object? message, MessageHeaderCollection messageHeaders, MessageSerializationContext context)
    Parameters
    Type Name Description
    object message

    The message object to be serialized.

    MessageHeaderCollection messageHeaders

    The message headers collection.

    MessageSerializationContext context

    The context information.

    Returns
    Type Description
    ValueTask<Stream>

    A Task<TResult> representing the asynchronous operation. The task result contains the Stream with the serialized message.

    Overrides
    JsonMessageSerializerBase.SerializeAsync(object?, MessageHeaderCollection, MessageSerializationContext)

    Implements

    IMessageSerializer
    IEquatable<T>
    • Improve this doc
    • View source
    GitHub E-Mail
    ↑ Back to top © 2020 Sergio Aquilini