NServiceBus
NServiceBus copied to clipboard
`IMessageSerializer` is not registered in DI and cannot be injected when replacing `SerializeMessageConnector`
Describe the suggested improvement
Is your improvement related to a problem? Please describe.
When a user would want to override SerializeMessageConnector the currently configured serialized cannot be injected via IMessageSerializer.
Describe the suggested solution
Register IMessageSerializer during serializer feature setup.
Describe alternatives you've considered
There is a hack to obtain it, but is will not be the same instance and require knowledge of the private string key "MainSerializer":
var settings = context.Settings;
var mainSerializer = settings.Get<Tuple<SerializationDefinition, SettingsHolder>>("MainSerializer");
var serializerFactory = mainSerializer.Item1.Configure(settings);
var serializer = serializerFactory(new MessageMapper());
Additional Context
No response