Example #1
0
 public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
 {
     container.Register(Classes.FromThisAssembly()
                        .BasedOn <IMappingCreator>()
                        .WithService.FromInterface()
                        );
 }
        public void Install(IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
        {
            container.Register(Component.For <ITenantService>()
                               .ImplementedBy <TenantService>()
                               .LifeStyle.Is(LifestyleType.Transient));

            container.Register(Component.For <IGroupService>()
                               .ImplementedBy <GroupService>()
                               .DependsOn(Dependency.OnComponent <IUnitOfWork, NHUnitOfWorkMultitenancy>())
                               .LifeStyle.Is(LifestyleType.Transient));

            container.Register(Component.For <IStopService>()
                               .ImplementedBy <StopService>()
                               .DependsOn(Dependency.OnComponent <IUnitOfWork, NHUnitOfWorkMultitenancy>())
                               .LifeStyle.Is(LifestyleType.Transient));

            container.Register(Component.For <IUserService>()
                               .ImplementedBy <UserService>()
                               .DependsOn(Dependency.OnComponent <IUnitOfWork, NHUnitOfWorkMultitenancy>())
                               .LifeStyle.Is(LifestyleType.Transient));

            container.Register(Component.For <IConfigurationProvider>().ImplementedBy <CloudConfigurationProvider>());

            container.Register(Component.For <ILog>().Instance(this.logger)
                               .LifeStyle.Is(Castle.Core.LifestyleType.Singleton));
        }
 public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
 {
     container.AddFacility <Castle.Facilities.WcfIntegration.WcfFacility>();
     container.AddFacility <Castle.Facilities.TypedFactory.TypedFactoryFacility>();
     container.Kernel.Resolver.AddSubResolver(new Castle.MicroKernel.Resolvers.SpecializedResolvers.ListResolver(container.Kernel));
     // add your services here...
 }
 public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
 {
     container.Register(Classes.FromAssembly(typeof(eCommerce.ApplicationLayer.Customers.ICustomerService).Assembly)
                        .Where(x => !x.IsInterface && !x.IsAbstract && !x.Name.EndsWith("Dto") && x.Namespace.Contains("ApplicationLayer"))
                        .WithService.DefaultInterfaces()
                        .Configure(c => c.LifestyleTransient()));
 }
        public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
        {
            if (container == null)
            {
                throw new ArgumentNullException("container");
            }

            IDataSerializer serializer;

            if (ConfigurationManager.AppSettings["serializer"] != null &&
                ConfigurationManager.AppSettings["serializer"] == "redis")
            {
                var connection = ConnectionMultiplexer.Connect("voiceflows.redis.cache.windows.net, password=0DF8T+8zJ77KWJYar33aqSFgeG/NTjtqMo5oJU1b3n4=");
                serializer = new RedisSerializer {
                    Cache = connection.GetDatabase()
                };
            }
            else
            {
                serializer = new MemorySerializer();
            }

            container.Register(Component.For <WorkflowEngine>()
                               .Instance(WorkflowSetup.Configure(typeof(JaviCustomWorkflow).Assembly)
                                         .WithSerializer(serializer)
                                         .WithCastleWindsor(container).WorkflowEngine));

            container.Register(Component.For <IDataSerializer>().Instance(serializer));
        }
Example #6
0
 public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
 {
     container.Register(
         Component.For <IMyThingManager>().ImplementedBy <MyThingManager>(),
         Component.For <IFooRepository>().ImplementedBy <FooRepository>()
         );
 }
        public void Install(IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
        {
            //var busConfig = container.Resolve<BusConfiguration>();

            //var busControl = Bus.Factory.CreateUsingRabbitMq(cfg =>
            //{
            //    var host = cfg.Host(busConfig.HostAddress, h =>
            //    {
            //        h.Username(busConfig.Username);
            //        h.Password(busConfig.Password);
            //    });

            //    sbc.ReceiveEndpoint(busConfig.QueueName, ec =>
            //    {
            //        ec.EnableMessageScope();
            //        ec.LoadFrom(container);
            //    })
            //});

            //container.Release(busConfig);

            //container.Register(Component.For<IBus>().Instance(busControl));
            //container.Register(Component.For<IBusControl>().Instance(busControl));

            //busControl.Start();
        }
        public override void ProcessResource(IResource source, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
        {
            // default stuff...
            base.ProcessResource(source, store);

            // custom stuff..auto register all config\*.castle.config files
            var configFilesLocation = SmartLocation.GetLocation("config");

            foreach (var extraConfig in Directory.GetFiles(configFilesLocation, "*.castle.config"))
            {
                try
                {
                    var interpreter = new XmlInterpreter(extraConfig)
                    {
                        Kernel = Kernel
                    };
                    interpreter.ProcessResource(interpreter.Source, store);
                }
                catch (ConfigurationErrorsException)
                {
                    throw;
                }
                catch (Exception ex)
                {
                    throw new InvalidOperationException("Failed to load configuration: " + extraConfig, ex);
                }
            }
        }
Example #9
0
 public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
 {
     container.Register(
         Component.For <IApplicationIssueUnitOfWork>()
         .ImplementedBy <ApplicationIssueUnitOfWork>()
         .LifestyleTransient());
 }
Example #10
0
        public void Install(IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
        {
            container.Register(Component.For <Web.Filters.CustomHandleErrorAttribute>()
                               .ImplementedBy <Web.Filters.CustomHandleErrorAttribute>().LifeStyle.Is(Castle.Core.LifestyleType.Singleton));

            container.Register(Classes.FromThisAssembly()
                               .BasedOn <IController>()
                               .Configure(c => c.LifeStyle.Is(Castle.Core.LifestyleType.Transient)));

            container.Register(Component.For <TenantContext>()
                               .ImplementedBy <TenantContext>().LifeStyle.Is(Castle.Core.LifestyleType.PerWebRequest));

            container.AddFacility <TypedFactoryFacility>();

            container.Register(Component.For <ITenantContextFactory>().AsFactory());

            container.Register(Component.For <MultitenancyMiddleware <TenantDto> >()
                               .ImplementedBy <MultitenancyMiddleware <TenantDto> >().LifeStyle.Is(Castle.Core.LifestyleType.PerWebRequest));

            container.Register(Component.For <ITenantIdentifierExtractor>()
                               .ImplementedBy <RouteDataTokensTenantIdentifierExtractor>().LifeStyle.Is(Castle.Core.LifestyleType.PerWebRequest));

            container.Register(Component.For <TenantRecordResolver>()
                               .ImplementedBy <TenantRecordResolver>().LifeStyle.Is(Castle.Core.LifestyleType.PerWebRequest));

            container.Register(Component.For <Middleware.ITenantRecordResolver <TenantDto> >()
                               .ImplementedBy <TenantRecordResolverCacheDecorator>().LifeStyle.Is(Castle.Core.LifestyleType.PerWebRequest));
        }
Example #11
0
        public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
        {
            container.Register(Classes.FromAssemblyNamed("eCommerce")
                               .BasedOn(typeof(Handles <>))
                               .WithService.FromInterface(typeof(Handles <>))
                               .Configure(c => c.LifestyleTransient()));

            container.Register(Classes.FromAssemblyNamed("eCommerce")
                               .BasedOn <IDomainService>()
                               .WithService.DefaultInterfaces()
                               .Configure(c => c.LifestyleTransient()));

            container.Register(Component.For <Settings>()
                               .Instance(new Settings(Country.Create(new Guid("229074BD-2356-4B5A-8619-CDEBBA71CC21"), "United Kingdom"))
                                         )
                               );

            container.Register(Component.For <Handles <CartCreated> >().ImplementedBy <DomainEventHandle <CartCreated> >().LifestyleSingleton());
            container.Register(Component.For <Handles <ProductAddedCart> >().ImplementedBy <DomainEventHandle <ProductAddedCart> >().LifestyleSingleton());
            container.Register(Component.For <Handles <ProductRemovedCart> >().ImplementedBy <DomainEventHandle <ProductRemovedCart> >().LifestyleSingleton());
            container.Register(Component.For <Handles <CountryCreated> >().ImplementedBy <DomainEventHandle <CountryCreated> >().LifestyleSingleton());
            container.Register(Component.For <Handles <CreditCardAdded> >().ImplementedBy <DomainEventHandle <CreditCardAdded> >().LifestyleSingleton());
            container.Register(Component.For <Handles <CustomerChangedEmail> >().ImplementedBy <DomainEventHandle <CustomerChangedEmail> >().LifestyleSingleton());
            container.Register(Component.For <Handles <CustomerCheckedOut> >().ImplementedBy <DomainEventHandle <CustomerCheckedOut> >().LifestyleSingleton());
            container.Register(Component.For <Handles <CustomerCreated> >().ImplementedBy <DomainEventHandle <CustomerCreated> >().LifestyleSingleton());
            container.Register(Component.For <Handles <ProductCodeCreated> >().ImplementedBy <DomainEventHandle <ProductCodeCreated> >().LifestyleSingleton());
            container.Register(Component.For <Handles <ProductCreated> >().ImplementedBy <DomainEventHandle <ProductCreated> >().LifestyleSingleton());
            container.Register(Component.For <Handles <CountryTaxCreated> >().ImplementedBy <DomainEventHandle <CountryTaxCreated> >().LifestyleSingleton());

            DomainEvents.Init(container);
        }
        public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
        {
            container.Register(
                Component.For <IServiceBus>()
                .UsingFactoryMethod(() =>
                                    ServiceBusFactory.New(sbc =>
            {
                sbc.UseMsmq();
                sbc.VerifyMsmqConfiguration();

                sbc.UseMulticastSubscriptionClient();

                sbc.ReceiveFrom("msmq://localhost/web");
                sbc.SetCreateMissingQueues(true);
                sbc.UseJsonSerializer();

                sbc.Subscribe(subs => subs.LoadFrom(container));

                sbc.BeforeConsumingMessage(() => container.BeginScope());
                sbc.AfterConsumingMessage(() => CallContextLifetimeScope.ObtainCurrentScope().Dispose());
            })
                                    )
                .LifestyleSingleton()
                );
        }
Example #13
0
        public void Install(Castle.Windsor.IWindsorContainer container,
                            Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
        {
            container.Register(Classes.FromThisAssembly().BasedOn <Controller>().LifestyleTransient());

            ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory(container));
        }
 public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
 {
     container.Register(
         Component.For <ContentFilterManager>(),
         Component.For <ContentFormatBuilder>()
         );
 }
Example #15
0
        public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
        {
            if (container == null)
            {
                throw new ArgumentNullException("container");
            }

            container.Register(AllTypes.FromAssemblyContaining(typeof(IMessageChannelManager))
                               .Pick()
                               .If(Component.IsInNamespace("Damascus.Core"))
                               .If(t => t.Name.EndsWith("Manager", StringComparison.Ordinal))
                               .WithService.DefaultInterfaces()
                               .Configure(c => c.LifestyleTransient()));

            container.Register(AllTypes.FromAssemblyContaining(typeof(IStep))
                               .Pick()
                               .If(Component.IsInNamespace("Damascus.Core"))
                               .If(t => t.Name.EndsWith("Step", StringComparison.Ordinal))
                               .Configure(c => c.LifestyleTransient()));

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

            container.Register(Component.For <TwillioConfig>().Instance(new TwillioConfig()
            {
                AccountSid       = ConfigurationManager.AppSettings["TwillioAccountSid"],         //"ACca775b6d44d34b80a1632effeddbcedd",
                AuthToken        = ConfigurationManager.AppSettings["TwillioAuthToken"],          //"238e98899d2fc49efb559fd9f841e8c6",
                SmsOutPhone      = ConfigurationManager.AppSettings["TwillioSmsOutPhone"],        //"786-465-2251",
                CallPhone        = ConfigurationManager.AppSettings["TwillioCallPhone"],          //"786-465-2251",
                VoiceCallbackUrl = ConfigurationManager.AppSettings["TwillioBaseUrl"] + "/call",  //www.voiceflows.com
                EmailCallbackUrl = ConfigurationManager.AppSettings["TwillioBaseUrl"] + "/email", //www.voiceflows.com
            }));
        }
 public void Install(Castle.Windsor.IWindsorContainer container,
                     Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
 {
     container.Register(Classes.FromThisAssembly()
                        .BasedOn <ApiController>()
                        .LifestylePerWebRequest());
 }
 public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
 {
     container.Register(AllTypes.FromThisAssembly()
                        .Pick().If(t => t.Name.EndsWith("Controller"))
                        .Configure(configurer => configurer.Named(configurer.Implementation.Name))
                        .LifestylePerWebRequest());
 }
 public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
 {
     container.Register(Component.For <ILogFactory>().ImplementedBy <Logger>().LifestylePerWebRequest());
     container.Register(Component.For <IGenericProcedures>().ImplementedBy <GenericProcedures>().LifestylePerWebRequest());
     container.Register(Component.For <IMasterLogicLayer>().ImplementedBy <MasterLogicLayer>().LifestylePerWebRequest());
     container.Register(Component.For <IAuthentication>().ImplementedBy <Authentication>().LifestylePerWebRequest());
 }
Example #19
0
        public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
        {
            if (container == null)
            {
                throw new ArgumentNullException("container");
            }

            container.Register(AllTypes.FromAssemblyContaining(typeof(IMessageChannelManager))
                               .Pick()
                               .If(Component.IsInNamespace("Damascus.Core"))
                               .If(t => t.Name.EndsWith("Manager", StringComparison.Ordinal) || t.Name.EndsWith("Sender", StringComparison.Ordinal))
                               .WithService.DefaultInterfaces()
                               .Configure(c => c.LifestyleSingleton()));

            container.Register(Component.For <TwillioConfig>().Instance(new TwillioConfig()
            {
                AccountSid       = SettingManager.Get("TwillioAccountSid"),
                AuthToken        = SettingManager.Get("TwillioAuthToken"),
                SmsOutPhone      = SettingManager.Get("TwillioSmsOutPhone"),
                CallPhone        = SettingManager.Get("TwillioCallPhone"),
                VoiceCallbackUrl = SettingManager.Get("TwillioBaseUrl") + "/call",
                EmailCallbackUrl = SettingManager.Get("TwillioBaseUrl") + "/email",
            }));

            container.Register(Component.For <SmtpConfig>().Instance(new SmtpConfig()
            {
                Username   = SettingManager.Get("SendGrid.Username"),
                Password   = SettingManager.Get("SendGrid.Password"),
                Port       = 587,
                SmtpServer = "smtp.sendgrid.net",
            }));
        }
 public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
 {
     container.Register(
         Component
         .For <ITokenGenerator>()
         .ImplementedBy <BasicAuthTokenGenerator>()
         .LifestyleSingleton());
 }
Example #21
0
 public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
 {
     container.Register(
         Castle.MicroKernel.Registration.AllTypes.FromThisAssembly().BasedOn <IFoo>(),
         Castle.MicroKernel.Registration.Classes.FromThisAssembly().BasedOn <IFoo>(),
         Castle.MicroKernel.Registration.Types.FromThisAssembly().BasedOn <IFoo>()
         );
 }
 public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
 {
     if (container == null)
     {
         throw new ArgumentNullException("container");
     }
     container.Register(Component.For <IActionInvoker>().ImplementedBy <WindsorControllerActionInvoker>().LifeStyle.Transient);
 }
Example #23
0
        public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
        {
            container.Register(Classes.FromThisAssembly().BasedOn <IController>().LifestylePerWebRequest().Configure(x => x.Named(x.Implementation.FullName)));

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

            container.Register(Component.For <IDeleteAdoRepository>().ImplementedBy <DeleteAdoRepository>().LifestyleTransient());
        }
 public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
 {
     container.Register(Component.For <IUserService>().ImplementedBy <UserService>());
     container.Register(Component.For <IApplicationService>().ImplementedBy <ApplicationService>());
     container.Register(Component.For <IReportService>().ImplementedBy <ReportService>());
     container.Register(Component.For <IEmailService>().ImplementedBy <EmailService>());
     container.Register(Component.For <ITileService>().ImplementedBy <TileService>());
 }
Example #25
0
 public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
 {
     container.Register(
         Component
         .For <INpvCalculator>()
         .ImplementedBy <NpvCalculator>()
         .LifestyleTransient());
 }
Example #26
0
        public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
        {
            container.Register(Classes.FromThisAssembly()
                               .BasedOn <IHttpController>()
                               .Configure(c => c.LifestyleTransient()));

            container.Register(Component.For <IRequestCorrelationIdentifier>().ImplementedBy <W3CWebRequestCorrelationIdentifier>().LifeStyle.PerWebRequest);
        }
Example #27
0
 public void Install(Castle.Windsor.IWindsorContainer container,
                     Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
 {
     container
     .Register(Component.For <IEntityManagerViewModel>().ImplementedBy <EntityManagerViewModel>().LifestyleSingleton());
     container
     .Register(Component.For <IEntityManagerView>().ImplementedBy <EntityManagerView>().LifestyleSingleton());
 }
Example #28
0
 public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
 {
     container.Register(Component.For <IRepository>().ImplementedBy <Repository>().LifestyleTransient());
     container.Register(Component.For <ILocationRepository>().ImplementedBy <LocationRepository>().LifestyleTransient());
     container.Register(Component.For <IFlickrPhotoRepository>().ImplementedBy <FlickrPhotoRepository>().LifestyleTransient());
     container.Register(Component.For <IFlickrService>().ImplementedBy <FlickrService>().LifestyleTransient());
     container.Register(Component.For <IFourSquareService>().ImplementedBy <FourSquareService>().LifestyleTransient());
 }
Example #29
0
        public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
        {
            container.Register(Component.For <IDB4oServer>()
                               .ImplementedBy <DB4oServer>());

            container.Register(Component.For <IContextoProceso>()
                               .ImplementedBy <ContextoProceso>());
        }
Example #30
0
 public void Install(Castle.Windsor.IWindsorContainer container, Castle.MicroKernel.SubSystems.Configuration.IConfigurationStore store)
 {
     container.Register(Classes.FromThisAssembly()                            //在哪里找寻接口或类
                        .BasedOn <IHttpController>()                          //实现IController接口
                        .If(Component.IsInSameNamespaceAs <HomeController>()) //与HomeController在同一个命名空间
                        .If(t => t.Name.EndsWith("Controller"))               //以"Controller"结尾
                        .Configure(c => c.LifestylePerWebRequest()));         //每次请求创建一个Controller实例
 }