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.
Inherited Members
Namespace: Silverback.Messaging.Serialization
Assembly: Silverback.Integration.dll
Syntax
public sealed class JsonMessageSerializer : JsonMessageSerializerBase, IMessageSerializer, IEquatable<JsonMessageSerializer>
Properties
| Improve this doc View sourceDefault
Gets the default static instance of JsonMessageSerializer.
Declaration
public static JsonMessageSerializer Default { get; }
Property Value
Type | Description |
---|---|
JsonMessageSerializer |
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 |
---|---|
System.Boolean |
Overrides
Methods
| Improve this doc View sourceDeserializeAsync(Stream, MessageHeaderCollection, MessageSerializationContext)
Deserializes the byte array back into a message object.
Declaration
public override async ValueTask<(object Message, Type MessageType)> DeserializeAsync(Stream messageStream, MessageHeaderCollection messageHeaders, MessageSerializationContext context)
Parameters
Type | Name | Description |
---|---|---|
System.IO.Stream | messageStream | The System.IO.Stream containing the message to be deserialized. |
MessageHeaderCollection | messageHeaders | The message headers collection. |
MessageSerializationContext | context | The context information. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.ValueTask<System.ValueTuple<System.Object, System.Type>> | A System.Threading.Tasks.Task<TResult> representing the asynchronous operation. The task result contains the
deserialized message (or |
Overrides
| Improve this doc View sourceEquals(JsonMessageSerializer)
Declaration
public bool Equals(JsonMessageSerializer other)
Parameters
Type | Name | Description |
---|---|---|
JsonMessageSerializer | other |
Returns
Type | Description |
---|---|
System.Boolean |
Equals(Object)
Declaration
public override bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
System.Object | obj |
Returns
Type | Description |
---|---|
System.Boolean |
Overrides
GetHashCode()
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
System.Int32 |
Overrides
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 |
---|---|---|
System.Object | message | The message object to be serialized. |
MessageHeaderCollection | messageHeaders | The message headers collection. |
MessageSerializationContext | context | The context information. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.ValueTask<System.IO.Stream> | A System.Threading.Tasks.Task<TResult> representing the asynchronous operation. The task result contains the System.IO.Stream with the serialized message. |