Class NewtonsoftJsonMessageSerializer
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.Newtonsoft.dll
Syntax
public sealed class NewtonsoftJsonMessageSerializer : NewtonsoftJsonMessageSerializerBase, IMessageSerializer, IEquatable<NewtonsoftJsonMessageSerializer>
Properties
| Improve this doc View sourceDefault
Gets the default static instance of NewtonsoftJsonMessageSerializer.
Declaration
public static NewtonsoftJsonMessageSerializer Default { get; }
Property Value
| Type | Description |
|---|---|
| NewtonsoftJsonMessageSerializer |
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
Methods
| Improve this doc View sourceDeserializeAsync(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 |
Overrides
| Improve this doc View sourceEquals(NewtonsoftJsonMessageSerializer?)
Indicates whether the current object is equal to another object of the same type.
Declaration
public bool Equals(NewtonsoftJsonMessageSerializer? other)
Parameters
| Type | Name | Description |
|---|---|---|
| NewtonsoftJsonMessageSerializer | other | An object to compare with this object. |
Returns
| Type | Description |
|---|---|
| bool | true if the current object is equal to the |
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
| Improve this doc View sourceGetHashCode()
Serves as the default hash function.
Declaration
public override int GetHashCode()
Returns
| Type | Description |
|---|---|
| int | A hash code for the current object. |
Overrides
| Improve this doc View sourceSerializeAsync(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. |