public void Test1() { Castle.Windsor.IWindsorContainer windsorContainer = new Castle.Windsor.WindsorContainer(); windsorContainer.AddAspectCoreFacility(); windsorContainer.Register(Castle.MicroKernel.Registration.Component.For <IService>().ImplementedBy <Service>()); windsorContainer.BeginScope(); var s = windsorContainer.Resolve <IService>(); s.Foo(); }
public void Test1() { Castle.Windsor.IWindsorContainer windsorContainer = new Castle.Windsor.WindsorContainer(); windsorContainer.AddAspectCoreFacility(config => { config.Interceptors.AddDelegate((ctx, next) => { var scopedService = ctx.ServiceProvider.GetService(typeof(ScopedService)); return(ctx.Invoke(next)); }); }); windsorContainer.AddAspectCoreFacility(); windsorContainer.Register(Component.For <IService>().ImplementedBy <Service>()); windsorContainer.Register(Component.For <ScopedService>().LifestyleScoped()); windsorContainer.BeginScope(); var s = windsorContainer.Resolve <IService>(); s.Foo(); windsorContainer.BeginScope(); s = windsorContainer.Resolve <IService>(); s.Foo(); }