Castle Windsor

Source
NuGet Package NServiceBus.CastleWindsor (7.x)
Target NServiceBus Version: 7.x

NServiceBus can be configured to use Castle Windsor for dependency injection.

Default usage

endpointConfiguration.UseContainer<WindsorBuilder>();

Using an existing container

var container = new WindsorContainer();
var registration = Component.For<MyService>()
    .Instance(new MyService());
container.Register(registration);
endpointConfiguration.UseContainer<WindsorBuilder>(
    customizations: customizations =>
    {
        customizations.ExistingContainer(container);
    });

DependencyLifecycle Mapping

DependencyLifecycle maps to Castle's LifestyleType as follows:

DependencyLifecycleLifestyleType
InstancePerCallTransient
InstancePerUnitOfWorkScoped
SingleInstanceSingleton

Samples


Last modified