private static void InstallWindsorIntegration(IServiceCollection services, IWindsorContainer container) { container.Kernel.Resolver.AddSubResolver(new ArrayResolver(container.Kernel)); var loggerDependencyResolver = new LoggerDependencyResolver(); container.Register(Component.For <IAcceptServiceProvider>().Instance(loggerDependencyResolver)); container.Kernel.Resolver.AddSubResolver(loggerDependencyResolver); var frameworkDependencyResolver = new FrameworkDependencyResolver(services); container.Register(Component.For <IAcceptServiceProvider>().Instance(frameworkDependencyResolver)); container.Kernel.Resolver.AddSubResolver(frameworkDependencyResolver); }
protected virtual void RegisterCastle() { var logger = new LoggerDependencyResolver(); var framework = new FrameworkDependencyResolver(services); Kernel.Register( Component.For <IServiceProviderVisitor>() .Instance(logger) .LifestyleSingleton(), Component.For <IServiceProviderVisitor>() .Instance(framework) .LifestyleSingleton(), Component.For <IServiceProvider>() .Forward <IServiceProviderFactory>() .Forward <IServiceProviderVisitor>() .ImplementedBy <ServiceProviderFactory>() .LifestyleSingleton() ); Kernel.Resolver.AddSubResolver(logger); Kernel.Resolver.AddSubResolver(framework); }