Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        public static void Run()
        {
            var container = new Castle.Windsor.WindsorContainer();

            container.Register(Component
                               .For <LimitedScopeServce>()
                               .ImplementedBy <LimitedScopeServce>()
                               .LifestyleTransient()
                               );

            // chcemy aby LimitedScopeServce
            var scope = container.BeginScope();

            container.Resolve <LimitedScopeServce>();
            // ale tu już
            scope.Dispose();
            Console.WriteLine("Po scope");

            Console.ReadLine();
        }