Skip to content
This repository has been archived by the owner on Mar 14, 2023. It is now read-only.

Add support for NServiceBus message serialization via ProtoBufNet

License

Notifications You must be signed in to change notification settings

NServiceBusExtensions/NServiceBus.ProtoBufNet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NServiceBus.ProtoBufNet

Build status NuGet Status

Add support for NServiceBus message serialization via ProtoBuf

Contents

Already a Patron? skip past this section

Community backed

It is expected that all developers either become a Patron to use NServiceBusExtensions. Go to licensing FAQ

Sponsors

Support this project by becoming a Sponsor. The company avatar will show up here with a website link. The avatar will also be added to all GitHub repositories under the NServiceBusExtensions organization.

Patrons

Thanks to all the backing developers. Support this project by becoming a patron.

NuGet package

https://nuget.org/packages/NServiceBus.ProtoBuf/

Usage

configuration.UseSerialization<ProtoBufSerializer>();

snippet source | anchor

This serializer does not support messages defined as interfaces. If an explicit interface is sent, an exception will be thrown with the following message:

Interface based message are not supported.
Create a class that implements the desired interface

Instead, use a public class with the same contract as the interface. The class can optionally implement any required interfaces.

Custom Settings

Customizes the SerializerOptions used for serialization.

var model = RuntimeTypeModel.Create();
model.IncludeDateTimeKind = true;
var serialization = configuration.UseSerialization<ProtoBufSerializer>();
serialization.RuntimeTypeModel(model);

snippet source | anchor

Custom content key

When using additional deserializers or transitioning between different versions of the same serializer it can be helpful to take explicit control over the content type a serializer passes to NServiceBus (to be used for the ContentType header).

var serialization = configuration.UseSerialization<ProtoBufSerializer>();
serialization.ContentTypeKey("custom-key");

snippet source | anchor

Icon

Robot designed by Sotirios Papavasilopoulos from The Noun Project.

About

Add support for NServiceBus message serialization via ProtoBufNet

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages