コード例 #1
0
        public IWindsorContainer Build()
        {
            var container = new WindsorContainerEx();

            container.AddSupportForEmptyCollections();

            InstallFacilities(container);

            InstallFeaturePrerequisites(container);

            var assembliesProvider  = container.Resolve <IAssembliesProvider>();
            var configValueProvider = container.Resolve <IConfigValueProvider>();

            InstallPlugins();

            InstallCoreFeatures(container);

            InstallFeatures(container);

            ApplyHttpSpecific(container);

            FinalizeContainer(container);

            return(container);

            void InstallPlugins()
            {
                var pluginFolder = configValueProvider.GetValue("plugin:folder");

                _logger.Debug($"Loading plugins from folder {pluginFolder}.");
                assembliesProvider.LoadPluginAssemblies(pluginFolder);
            }
        }
コード例 #2
0
        public void Container_Should_Allow_WindsorContainerEx_Dependency_To_Be_Registered()
        {
            var container = new WindsorContainerEx();

            container.Register(
                Component.For <ServiceLocatorDependencyTestClass>()
                .DependsOn(Dependency.OnValue <IServiceLocator>(container))
                );

            var obj = container.Resolve <ServiceLocatorDependencyTestClass>();

            Assert.IsTrue(obj.HasValidLocator());
        }
コード例 #3
0
            /// <summary>
            /// Executes the code to be tested.
            /// </summary>
            protected override void Act()
            {
                // NHibernate initialization
                // NOTE when the container is configured, extensions are registered within the container.
#pragma warning disable 618
                // TODO: Remove with ODS-2973, deprecated by ODS-2974
                new LegacyNHibernateConfigurator().Configure(_container);
#pragma warning restore 618

                _configuration = _container.Resolve <Configuration>();

                _persistentClasses = _configuration.ClassMappings
                                     .Where(
                    m => m.Table.Name.Equals(
                        CoreTableName,
                        StringComparison.InvariantCultureIgnoreCase))
                                     .ToList();
            }
コード例 #4
0
            public void SetUp()
            {
                var container = new WindsorContainerEx();

                container.Install(new SecurityComponentsInstaller());

                container.Register(
                    Component
                    .For(typeof(IGetEntityByKey <>))
                    .ImplementedBy(typeof(DecoratedGetEntityByKey <>))
                    .OnCreate((kernel, item) => DecoratedGetEntityByKeyInstance = (DecoratedGetEntityByKey <Student>)item));

                container.Register(
                    Component
                    .For(typeof(IRelationshipsAuthorizationContextDataProvider <>))
                    .ImplementedBy(typeof(RelationshipsAuthorizationContextDataProviderStub <>))   //,
                    );

                resolvedIGetEntityByKey = container.Resolve <IGetEntityByKey <Student> >();
            }