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. |