Example #1
0
        static void ConfigDi(IWindsorContainer container)
        {
            CachingRuntime.RegisterDefaultTypes((
                                                    (t1, t2, isTransient) =>
            {
                if (isTransient)
                {
                    container.Register(Component.For(t1).ImplementedBy(t2).LifestyleTransient());
                }
                else
                {
                    container.Register(Component.For(t1).ImplementedBy(t2).LifestyleSingleton());
                }
            }));

            container.Register(
                Component.For <CarController>().ImplementedBy <CarController>()
                .LifestyleTransient(),
                Component.For <ITimedETagExtractor>().ImplementedBy <CarAndCollectionETagExtractor>()
                .LifestyleSingleton().IsDefault(),
                Component.For <ITimedETagQueryProvider>().ImplementedBy <TimedETagQueryCarRepository>()
                .LifestyleSingleton().IsDefault(),
                Component.For <ITimedETagExtractor <Car> >().ImplementedBy <CarETagExtractor>()
                .LifestyleSingleton().IsDefault(),
                Component.For <ITimedETagQueryProvider <Car> >().ImplementedBy <CarTimedETagQueryCarRepository>()
                .LifestyleSingleton().IsDefault(),
                Component.For <ICarRepository>().Instance(InMemoryCarRepository.Instance),
                Component.For <ISerialiser>().ImplementedBy <IgnoreLoopJsonSerialiser>().IsDefault() // demonstrate how to replace

                );
        }
Example #2
0
        static void ConfigDi(IWindsorContainer container)
        {
            CachingRuntime.RegisterDefaultTypes((
                                                    (t1, t2, isTransient) =>
            {
                if (isTransient)
                {
                    container.Register(Component.For(t1).ImplementedBy(t2).LifestyleTransient());
                }
                else
                {
                    container.Register(Component.For(t1).ImplementedBy(t2).LifestyleSingleton());
                }
            }));

            container.Register(
                Component.For <CarController>().ImplementedBy <CarController>()
                .LifestyleTransient(),
                Component.For <ITimedETagExtractor <Car> >().ImplementedBy <CarETagExtractor>()
                .LifestyleSingleton(),
                Component.For <ITimedETagExtractor <IEnumerable <Car> > >().ImplementedBy <CarCollectionETagExtractor>()
                .LifestyleSingleton(),
                Component.For <ITimedETagQueryProvider>().ImplementedBy <TimedETagQueryCarRepository>()
                .LifestyleSingleton(),
                Component.For <ICarRepository>().Instance(InMemoryCarRepository.Instance)
                );
        }