コード例 #1
0
ファイル: OutfitEngine.cs プロジェクト: tuxevil/FashionAde
        protected override void OnStart(string[] args)
        {
            storage = new WcfSessionStorage();

            log4net.Config.XmlConfigurator.Configure();

            // Create container
            IWindsorContainer container = new WindsorContainer();

            // Add Engine for the Host Service
            container.AddComponent("outfitEngineService", typeof(OutfitEngineService));
            container.AddComponent("outfitUpdaterService", typeof(OutfitUpdaterService));

            // Add the Services to the Container
            ComponentRegistrar.AddServicesTo(container);
            ComponentRegistrar.AddApplicationServicesTo(container);

            // Create the container
            ServiceLocatorInitializer.Init(container);

            // Initialize NHibernate
            NHibernateInitializer.Instance().InitializeNHibernateOnce(
                () => InitializeNHibernateSession());

            // Create Service Host
            host = new System.ServiceModel.ServiceHost(typeof(OutfitEngineService));
            host.Description.Behaviors.Add(new PerCallServiceBehavior());
            host.Open();

            hostUpdater = new SharpArch.Wcf.NHibernate.ServiceHost(typeof(OutfitUpdaterService));
            hostUpdater.Open();
        }
コード例 #2
0
        /// <summary>
        /// Instantiate the container and add all Controllers that derive from
        /// WindsorController to the container.  Also associate the Controller
        /// with the WindsorContainer ControllerFactory.
        /// </summary>
        protected virtual void InitializeServiceLocator()
        {
            var container = new WindsorContainer();

            // Initialize MVC application
            ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory(container));
            container.RegisterControllers(typeof(HomeController).Assembly);
            ComponentRegistrar.AddComponentsTo(container);

            // Initialize WebApi
            container.Register(AllTypes.FromAssembly(typeof(HomeController).Assembly)
                               .BasedOn <ApiController>()
                               .If(r => r.Name.EndsWith("Controller"))
                               .LifestyleTransient());

            GlobalConfiguration.Configuration.Services.Replace(typeof(IHttpControllerActivator),
                                                               new WindsorCompositionRoot(container));

            GlobalConfiguration.Configuration.DependencyResolver = new WindsorDependencyResolver(container);

            // Setup service locator
            var windsorServiceLocator = new WindsorServiceLocator(container);

            DomainEvents.ServiceLocator = windsorServiceLocator;
            ServiceLocator.SetLocatorProvider(() => windsorServiceLocator);
        }
コード例 #3
0
        public void NoDatabaseOptionsBuilderShouldThrowInvalidOperationExceptionTest()
        {
            var sut = new ComponentRegistrar(new Container());

            Assert.Throws <InvalidOperationException>(() =>
                                                      sut.RegisterApplicationComponents(configuration));
        }
コード例 #4
0
ファイル: Global.asax.cs プロジェクト: clinton-c/ndddsample
        private void RegisterDependencies()
        {
            bool isRunInTheCloud;

            try
            {
                isRunInTheCloud = RoleEnvironment.IsAvailable;
            }
            catch (Exception)
            {
                isRunInTheCloud = false;
            }

            if (isRunInTheCloud)
            {
                var current = RoleEnvironment.CurrentRoleInstance;

                var roleInstanceEndpoints = RoleEnvironment.Roles["BookingRemoteServiceWorkerRole"]
                                            .Instances
                                            .Where(instance => instance != current)
                                            .Select(instance => instance.InstanceEndpoints["BookingRemoteServiceWorkerRoleEndpoint"]);

                var bookingInternalEndpoint = roleInstanceEndpoints.ElementAt(new Random().Next(roleInstanceEndpoints.Count())).IPEndpoint.ToString();

                ComponentRegistrar.AddComponentsTo(this.Container, bookingInternalEndpoint);
            }
            else
            {
                ComponentRegistrar.AddComponentsTo(this.Container);
            }
        }
コード例 #5
0
        public void Init(object gameInstance)
        {
            var assembly = Assembly.GetExecutingAssembly();
            var version  = assembly.GetName().Version;

            // Set up resources that persist outside of sessions
            ThreadTracker.SetGameThread();

            Log.Log("Loading Plugin for SEPC version " + version);

            try
            {
                // Register our compilation symbol state
                SymbolRegistrar.SetDebugIfDefined();
                SymbolRegistrar.SetProfileIfDefined();

                // Register our SEPC-managed SessionComponents
                ComponentRegistrar.AddComponents(assembly);
                ComponentRegistrar.LoadOnInit(0, assembly);
            }
            catch (Exception error)
            {
                Log.Error(error);
            }
        }
コード例 #6
0
        /// <summary>
        /// Instantiate the container and add all Controllers that derive from
        /// WindsorController to the container.  Also associate the Controller
        /// with the WindsorContainer ControllerFactory.
        /// </summary>
        protected virtual IWindsorContainer InitializeServiceLocator()
        {
            IWindsorContainer container = new WindsorContainer();

            ComponentRegistrar.AddComponentsTo(container);
            ServiceLocator.SetLocatorProvider(() => new WindsorServiceLocator(container));
            return(container);
        }
コード例 #7
0
        /// <summary>
        /// Instantiate the container and add all Controllers that derive from
        /// WindsorController to the container.  Also associate the Controller
        /// with the WindsorContainer ControllerFactory.
        /// </summary>
        protected virtual void InitializeServiceLocator()
        {
            IWindsorContainer container = new WindsorContainer();

            ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory(container));
            container.RegisterControllers(typeof(BlogController).Assembly);
            ComponentRegistrar.AddComponentsTo(container);
            ServiceLocator.SetLocatorProvider(() => new WindsorServiceLocator(container));
        }
コード例 #8
0
        public void RegisterApplicationComponentsShouldSucceedTest()
        {
            var sut = new ComponentRegistrar(new Container())
            {
                DatabaseOptionsBuilder = new DbContextOptionsBuilder <GreetingDbContext>()
                                         .UseInMemoryDatabase("ComponentRegistrarTest")
            };

            sut.RegisterApplicationComponents(configuration);
        }
コード例 #9
0
 public ManageImageStreamUtil()
 {
     _container = new WindsorContainer();
     ComponentRegistrar.AddServicesTo(_container);
     ComponentRegistrar.AddNestConnection(_container);
     ComponentRegistrar.AddGenericRepositoriesTo(_container);
     ComponentRegistrar.AddCustomRepositoriesTo(_container);
     ComponentRegistrar.AddUnitOfWorkTo(_container);
     ComponentRegistrar.AddDatabaseFactoryPerThreadTo(_container);
     _productImageService = _container.Resolve <IProductImageService>();
 }
コード例 #10
0
 public void SetUp()
 {
     _container = new WindsorContainer();
     ComponentRegistrar.AddServicesTo(_container);
     ComponentRegistrar.AddNestConnection(_container);
     ComponentRegistrar.AddGenericRepositoriesTo(_container);
     ComponentRegistrar.AddCustomRepositoriesTo(_container);
     ComponentRegistrar.AddUnitOfWorkTo(_container);
     ComponentRegistrar.AddDatabaseFactoryPerThreadTo(_container);
     SetuppingTest();
 }
コード例 #11
0
        static void Main(string[] args)
        {
            ComponentRegistrar registrar = new ComponentRegistrar();
            var container = registrar.BuildContainer();

            var gameplayService = container.Resolve <IGameplayService>();
            var gameplay        = gameplayService.StartNewGameplay();

            gameplayService.EndCurrentGemeplay(gameplay);

            Console.ReadKey();
        }
コード例 #12
0
        protected virtual IWindsorContainer InitializeWindsorContainer()
        {
            var container = new WindsorContainer();

            ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory(container));

            ComponentRegistrar.AddComponentsTo(container);

            ServiceLocator.SetLocatorProvider(() => new WindsorServiceLocator(container));

            return(container);
        }
コード例 #13
0
        public static DropletBuilder UseAutoDI(this DropletBuilder @this, Action <AutoDIBuilder> action = null)
        {
            var dotnetRegister = new DotnetRegister(@this.ServiceCollection);
            var registrar      = new ComponentRegistrar(dotnetRegister);

            registrar.RegisterAssembly(@this.RegisterAssemblies.ToArray());
            var builder = new AutoDIBuilder(registrar, @this.RegisterAssemblies);

            action?.Invoke(builder);

            return(@this);
        }
コード例 #14
0
ファイル: UCDArchBootstrapper.cs プロジェクト: zszqwe/UCDArch
        private static IWindsorContainer InitializeServiceLocator()
        {
            IWindsorContainer container = new WindsorContainer();

            ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory(container));

            container.RegisterControllers(typeof(HomeController).Assembly);
            ComponentRegistrar.AddComponentsTo(container);

            ServiceLocator.SetLocatorProvider(() => new WindsorServiceLocator(container));

            return(container);
        }
コード例 #15
0
        public IWindsorContainer InitializeWindsorContainer()
        {
            IWindsorContainer windsorContainer = new WindsorContainer();

            ComponentRegistrar.AddComponentsTo(windsorContainer);

            windsorContainer.RegisterQuartzJobs(typeof(DummyJob).Assembly);
            windsorContainer.RegisterQuartzJob <FileScanJob>();

            var wServiceLocator = new WindsorServiceLocatorAdapter(windsorContainer);

            ServiceLocator.SetLocatorProvider(() => wServiceLocator);

            return(windsorContainer);
        }
コード例 #16
0
 public void TestSetup()
 {
     //LoadSheets();
     gen        = new GenerateRandomProductUtil(isLoggingDebug, isLoggingVerbose, isLoggingProductFullDetailsOnCreation, GenerateRandomProductUtil.serviceCall);
     _container = new WindsorContainer();
     ComponentRegistrar.AddServicesTo(_container);
     ComponentRegistrar.AddNestConnection(_container);
     ComponentRegistrar.AddGenericRepositoriesTo(_container);
     ComponentRegistrar.AddCustomRepositoriesTo(_container);
     ComponentRegistrar.AddUnitOfWorkTo(_container);
     ComponentRegistrar.AddDatabaseFactoryPerThreadTo(_container);
     service      = _container.Resolve <IProductService>();
     indexService = _container.Resolve <IIndexingProductService>();
     //_productImageService = _container.Resolve<IProductImageService>();
 }
コード例 #17
0
        protected virtual IWindsorContainer InitializeWindsorCastle(IWindsorContainer container)
        {
            ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory(container));

            GlobalConfiguration.Configuration.Services.Replace(
                typeof(IHttpControllerActivator),
                new WindsorCompositionRoot(container));

            container.RegisterControllers(typeof(HomeController).Assembly);
            container.RegisterControllers(typeof(ElmahController).Assembly);
            container.RegisterApiControllers(typeof(AdminWebApi.ProductController).Assembly);
            ComponentRegistrar.AddComponentsTo(container);

            return(container);
        }
コード例 #18
0
        /// <summary>
        ///   Instantiate the container and add all Controllers that derive from
        ///   WindsorController to the container.  Also associate the Controller
        ///   with the WindsorContainer ControllerFactory.
        /// </summary>
        protected virtual void InitializeServiceLocator()
        {
            IWindsorContainer container = new WindsorContainer();

            container.Install(FromAssembly.This());

            GlobalConfiguration.Configuration.Services.Replace(typeof(IHttpControllerActivator), new WindsorHttpControllerActivator(container));
            //ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory(container));

            var windsorServiceLocator = new WindsorServiceLocator(container);

            DomainEvents.ServiceLocator = windsorServiceLocator;
            ServiceLocator.SetLocatorProvider(() => windsorServiceLocator);

            ComponentRegistrar.AddComponentsTo(container);
        }
コード例 #19
0
        public void TestRegisterAssembly()
        {
            var register  = A.Fake <IRegister>();
            var callCount = 0;

            A.CallTo(() => register.Register(A <Type> ._, A <Type> ._, null)).Invokes((ctx) =>
            {
                callCount++;
            });

            var componentRegistrar = new ComponentRegistrar(register);

            componentRegistrar.RegisterAssembly(Assembly.GetExecutingAssembly());

            Assert.AreEqual(15, callCount);
        }
コード例 #20
0
ファイル: Program.cs プロジェクト: tuxevil/FashionAde
        /// <summary>
        /// Updates all feeds.
        /// Normally executed on weekends.
        /// </summary>
        /// <remarks>
        /// Example of usage:
        /// FashionAde.OutfitUpdaterExecutor.exe host username password file1 file2 ...  fileN
        /// FashionAde.OutfitUpdaterExecutor.exe /download aftp.linksynergy.com jfennell2753 KftEapMS 24895_2389515_mp.txt.gz 13816_2389515_mp.txt.gz
        /// FashionAde.OutfitUpdaterExecutor.exe /download datatransfer.cj.com 2805067 CyWm5fUc /outgoing/productcatalog/52470/Zappos_com-Product_Catalog_1.txt.gz
        /// FashionAde.OutfitUpdaterExecutor.exe /execute
        /// </remarks>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            log4net.Config.XmlConfigurator.Configure();

            // Create container
            IWindsorContainer container = new WindsorContainer();

            // Add the Services to the Container
            ComponentRegistrar.AddApplicationServicesTo(container);

            // Create the container
            ServiceLocatorInitializer.Init(container);

            // Initialize NHibernate
            NHibernateInitializer.Instance().InitializeNHibernateOnce(
                InitializeNHibernateSession);

            try {
                if (args.Length > 4 && args[0].ToLower() == Download)
                {
                    // Download Files From Ftp
                    string host     = args[1];    // "aftp.linksynergy.com";
                    string userName = args[2];    // "jfennell2753";
                    string password = args[3];    // "KftEapMS";

                    for (var i = 4; i < args.Length; i++)
                    {
                        string sourceFile = args[i];
                        DownloadFile(host, userName, password, sourceFile);
                    }
                }
                else if (args.Length == 1 && args[0].ToLower() == Execute)
                {
                    // Start executing the updater
                    new OutfitUpdaterReference.OutfitUpdaterServiceClient().UpdateFeeds();
                }
                else if (args.Length == 1 && args[0].ToLower() == CreateIndexes)
                {
                    IIndexCreationService ics = ServiceLocator.Current.GetInstance <IIndexCreationService>();
                    ics.CreateIndexes();
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex);
            }
        }
コード例 #21
0
        public void UnloadObject()
        {
            var customComponents = ComponentRegistrar.GetCustomComponents();

            if (customComponents != null)
            {
                foreach (var t in customComponents)
                {
                    foreach (var c in FindObjectsOfType(t))
                    {
                        GameObject.Destroy(c);
                    }
                }
            }

            GameObject.Destroy(LoadedObject);
        }
コード例 #22
0
        public IWindsorContainer InitializeWindsorContainer()
        {
            IWindsorContainer windsorContainer = new WindsorContainer();

            ComponentRegistrar.AddComponentsTo(windsorContainer);

            windsorContainer.RegisterQuartzJobs(typeof(DummyJob).Assembly);
            windsorContainer.RegisterQuartzJob <FileScanJob>();

            //  var wServiceLocator = new WindsorServiceLocatorAdapter(windsorContainer);
            // ServiceLocator.SetLocatorProvider(() => wServiceLocator);

            //var toto = windsorContainer.Resolve<IMailService>();
            //toto.ExecuteMalProcess();

            return(windsorContainer);
        }
コード例 #23
0
        public static void Init()
        {
            IWindsorContainer container = new WindsorContainer();

            //Register all the Contrib Components
            ComponentRegistrar.AddComponentsTo(container);

            container.Register(
                Component
                .For(typeof(ISessionFactoryKeyProvider))
                .ImplementedBy(typeof(DefaultSessionFactoryKeyProvider))
                .Named("sessionFactoryKeyProvider"));

            container.Register(
                Component
                .For(typeof(IEntityDuplicateChecker))
                .ImplementedBy(typeof(EntityDuplicateChecker))
                .Named("entityDuplicateChecker"));

            container.Register(
                Component
                .For(typeof(IRepository <>))
                .ImplementedBy(typeof(NHibernateRepository <>))
                .Named("repositoryType"));

            container.Register(
                Component
                .For(typeof(INHibernateRepository <>))
                .ImplementedBy(typeof(NHibernateRepository <>))
                .Named("nhibernateRepositoryType"));

            container.Register(
                Component
                .For(typeof(IRepositoryWithTypedId <,>))
                .ImplementedBy(typeof(NHibernateRepositoryWithTypedId <,>))
                .Named("repositoryWithTypedId"));

            container.Register(
                Component
                .For(typeof(INHibernateRepositoryWithTypedId <,>))
                .ImplementedBy(typeof(NHibernateRepositoryWithTypedId <,>))
                .Named("nhibernateRepositoryWithTypedId"));

            ServiceLocator.SetLocatorProvider(() => new WindsorServiceLocator(container));
        }
コード例 #24
0
        private void ThisAddIn_Startup(object sender, System.EventArgs e)
        {
            _container = new WindsorContainer();
            ComponentRegistrar.AddExcelComponentsTo(_container);
            RegisterBusiness();
            MappingRegistrar.AddMapping();

            _productModule = _container.Resolve <IProductModule>();

            Globals.Ribbons.RiaRibbon.btnSync.Click       += btnSync_Click;
            Globals.Ribbons.RiaRibbon.btnSaveUpdate.Click += btnSaveUpdate_Click;
            Globals.Ribbons.RiaRibbon.btnImage.Click      += btnImage_Click;

            RibbonDropDownItem item = Globals.Factory.GetRibbonFactory().CreateRibbonDropDownItem();

            item.Label = "Test";
            Globals.Ribbons.RiaRibbon.ddlMainView.Items.Add(item);
        }
コード例 #25
0
        public async Task InitializeAsync()
        {
            var container          = new Container();
            var componentRegistrar = new ComponentRegistrar(container)
            {
                DatabaseOptionsBuilder = await CreateDatabaseOptions()
            };

            componentRegistrar.RegisterApplicationComponents(A.Fake <IConfiguration>());

            var startup = new Startup(container);

            server = new TestServer(
                WebHost.CreateDefaultBuilder()
                .ConfigureLogging(loggingBuilder => loggingBuilder.ClearProviders())
                .ConfigureServices(serviceCollection => startup.ConfigureServices(serviceCollection))
                .Configure(applicationBuilder => startup.Configure(applicationBuilder)));
        }
コード例 #26
0
        protected virtual IWindsorContainer InitializeWindsorCastle(IWindsorContainer container)
        {
            ControllerBuilder.Current.SetControllerFactory(new WindsorControllerFactory(container));

            GlobalConfiguration.Configuration.Services.Replace(
                typeof(IHttpControllerActivator),
                new WindsorCompositionRoot(container));

            container.RegisterControllers(typeof(HomeController).Assembly);
            container.RegisterControllers(typeof(ElmahController).Assembly);
            container.RegisterApiControllers(typeof(ProductController).Assembly);
            ComponentRegistrar.AddComponentsTo(container);

            //container.Register(
            //    Component.For<IApiMendeoFilter>().ImplementedBy<PeopleOnlineApiFilter>().LifestyleTransient());

            return(container);
        }
コード例 #27
0
ファイル: Program.cs プロジェクト: tuxevil/FashionAde
        static void Main(string[] args)
        {
            try
            {
                log4net.Config.XmlConfigurator.Configure();

                // Create container
                IWindsorContainer container = new WindsorContainer();

                // Add Engine for the Host Service
                container.AddComponent("outfitEngineService", typeof(OutfitEngineService));
                container.AddComponent("outfitUpdaterService", typeof(OutfitUpdaterService));

                // Add the Services to the Container
                ComponentRegistrar.AddServicesTo(container);
                ComponentRegistrar.AddApplicationServicesTo(container);

                // Create the container
                ServiceLocatorInitializer.Init(container);

                // Initialize NHibernate
                NHibernateInitializer.Instance().InitializeNHibernateOnce(
                    () => InitializeNHibernateSession());

                System.ServiceModel.ServiceHost host = new System.ServiceModel.ServiceHost(typeof(OutfitEngineService));
                host.Description.Behaviors.Add(new PerCallServiceBehavior());
                host.Open();

                ServiceHost host2 = new ServiceHost(typeof(OutfitUpdaterService));
                host2.Open();

                Console.WriteLine("Service started...");
                Console.ReadLine();

                host.Close();
                host2.Close();

                Console.WriteLine("Service stopped...");
                Console.ReadLine();
            }
            catch (Exception ex) {
                Console.WriteLine(ex.ToString());
            }
        }
コード例 #28
0
        public static void Init()
        {
            Infrastructure.Db.FireBirdConnection.InitializeFirebird();

            ConfigureJsonFormatter();

            // castle windsor
            IWindsorContainer container = new WindsorContainer();

            container.Install(FromAssembly.This());

            // register components
            ComponentRegistrar.AddComponentsTo(container);

            // service locator
            ServiceLocator.SetLocatorProvider(() => new WindsorServiceLocator(container));

            // dependency resolver
            GlobalConfiguration.Configuration.DependencyResolver = new CastleWindsor.DependencyResolver(container.Kernel);
        }
コード例 #29
0
        public void TestRegisterComponent_First()
        {
            var register = A.Fake <IRegister>();

            A.CallTo(() => register.Register(A <Type> ._, A <Type> ._, null)).Invokes((ctx) =>
            {
                if ((Type)ctx.Arguments[0] != typeof(TestFirstClass))
                {
                    Assert.Fail("component type is not correct");
                }

                if ((Type)ctx.Arguments[1] != typeof(IFirst))
                {
                    Assert.Fail("service type is not correct");
                }
            });

            var componentRegistrar = new ComponentRegistrar(register);

            componentRegistrar.RegisterComponent(typeof(TestFirstClass));
        }
コード例 #30
0
        public void TestRegisterComponent_All()
        {
            var register  = A.Fake <IRegister>();
            var callCount = 0;

            A.CallTo(() => register.Register(A <Type> ._, A <Type> ._, null)).Invokes((ctx) =>
            {
                if ((Type)ctx.Arguments[0] != typeof(TestAllClass))
                {
                    Assert.Fail("component type is not correct");
                }

                callCount++;
            });

            var componentRegistrar = new ComponentRegistrar(register);

            componentRegistrar.RegisterComponent(typeof(TestAllClass));

            Assert.AreEqual(3, callCount);
        }