For the complete documentation index, see llms.txt. This section of documentation is indexed by https://docs.particular.net/nservicebus/llms.txt. Here is the markdown version of this page. Markdown versions of documentation pages are available by appending .md to the page URL. Directory URLs use index.md.

StructureMap

NuGet Package:
NServiceBus.StructureMap 7.x
Target Version:
NServiceBus 7.x
Standard support for version 7.x of NServiceBus has expired. For more information see our Support Policy.

NServiceBus can be configured to use StructureMap for dependency injection.

Default usage

endpointConfiguration.UseContainer<StructureMapBuilder>();

Using an existing container

var container = new Container(
    action: expression =>
    {
        expression.For<MyService>()
            .Use(new MyService());
    });
endpointConfiguration.UseContainer<StructureMapBuilder>(
    customizations: customizations =>
    {
        customizations.ExistingContainer(container);
    });

DependencyLifecycle Mapping

DependencyLifecycle maps to StructureMap lifecycles as follows:

DependencyLifecycleStructureMap lifecycle
InstancePerCallAlwaysUnique
InstancePerUnitOfWorkContainerScoped
SingleInstanceSingleton

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.