Unity

Source
NuGet Package NServiceBus.Extensions.DependencyInjection (1.x)
Target NServiceBus Version: 7.x
Starting with NServiceBus version 8, the dependency injection container adapter packages are no longer required. NServiceBus directly supports the Microsoft.Extensions.DependencyInjection.Abstractions model and third party containers can be integrated using the externally managed container mode. Visit the dependency injection upgrade guide for further information.

NServiceBus can be configured to use Unity for dependency injection via the NServiceBus.Extensions.Hosting or the NServiceBus.Extensions.DependencyInjection package.

var container = new UnityContainer();
container.RegisterInstance(new MyService());

endpointConfiguration.UseContainer<IUnityContainer>(new ServiceProviderFactory(container));

DependencyLifecycle mapping

DependencyLifecycle maps to Unity lifetime managers as follows:

DependencyLifecycleUnity Equivalent
InstancePerCallTransientLifetimeManager
InstancePerUnitOfWorkHierarchicalLifetimeManager
SingleInstanceContainerControlledLifetimeManager

Property Injection

This dependency injection container adapter automatically enables property injection for known types. Use the Func overload of .ConfigureComponent to get full control over the injected properties if needed.

Samples


Last modified