Skip to content

Instantly share code, notes, and snippets.

@agross
Created September 3, 2012 11:31
Show Gist options
  • Save agross/3608688 to your computer and use it in GitHub Desktop.
Save agross/3608688 to your computer and use it in GitHub Desktop.
using System.Collections.Generic;
using Castle.MicroKernel.Registration;
using Castle.MicroKernel.Resolvers.SpecializedResolvers;
using Castle.Windsor;
using Castle.Windsor.Installer;
using Nancy.Bootstrapper;
using Nancy.Bootstrappers.Windsor;
namespace Domain.Service
{
public class WindsorBootstrapper : WindsorNancyBootstrapper
{
readonly IWindsorContainer _container;
public WindsorBootstrapper(IWindsorContainer container)
{
_container = container;
}
protected override IWindsorContainer GetApplicationContainer()
{
_container.Kernel.Resolver.AddSubResolver(new CollectionResolver(_container.Kernel, true));
_container.Register(Component.For<IWindsorContainer>().Instance(_container));
_container.Register(Component.For<NancyRequestScopeInterceptor>());
_container.Kernel.ProxyFactory.AddInterceptorSelector(new NancyRequestScopeInterceptorSelector());
return _container;
}
protected override void RegisterInstances(IWindsorContainer container,
IEnumerable<InstanceRegistration> instanceRegistrations)
{
base.RegisterInstances(container, instanceRegistrations);
container.Install(FromAssembly.InDirectory(new AssemblyFilter(".")));
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment