Getting Started
Architecture
NServiceBus
Transports
Persistence
ServiceInsight
ServicePulse
ServiceControl
Monitoring
Samples

Autofac

NuGet Package: NServiceBus.Autofac (7.x)
Target Version: NServiceBus 7.x

NServiceBus can be configured to use Autofac for dependency injection.

Default usage

endpointConfiguration.UseContainer<AutofacBuilder>();

Using an existing container

var builder = new ContainerBuilder();
builder.RegisterInstance(new MyService());
var container = builder.Build();
endpointConfiguration.UseContainer<AutofacBuilder>(
    customizations: customizations =>
    {
        customizations.ExistingLifetimeScope(container);
    });

DependencyLifecycle mapping

DependencyLifecycle maps to Autofac instance scopes as follows:

DependencyLifecycleAutofac instance scope
InstancePerCallInstance Per Dependency
InstancePerUnitOfWorkInstance Per Lifetime Scope
SingleInstanceSingle Instance

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