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 StructureMap for dependency injection via the NServiceBus.
or the NServiceBus.
package.
var registry = new Registry();
registry.For<MyService>().Use(new MyService());
endpointConfiguration.UseContainer(new StructureMapServiceProviderFactory(registry));
DependencyLifecycle Mapping
DependencyLifecycle
maps to StructureMap lifecycles as follows:
DependencyLifecycle | StructureMap lifecycle |
---|---|
InstancePerCall | AlwaysUnique |
InstancePerUnitOfWork | ContainerScoped |
SingleInstance | Singleton |
Property Injection
This dependency injection container adapter automatically enables property injection for known types. Use the Func
overload of .
to get full control over the injected properties if needed.