ForKey() 공개 정적인 메소드

Create a ParameterKey with key.
public static ForKey ( String key ) : ParameterKey
key String The parameter key.
리턴 ParameterKey
        protected override void Init()
        {
            ComponentRegistration <object> component = Component.For(typeof(IRepository <>)).ImplementedBy(typeof(NHRepository <>));

            if (!string.IsNullOrEmpty(config.RepositoryKey))
            {
                component.Named(config.RepositoryKey);
            }

            Kernel.Register(component);
            ComponentRegistration <IUnitOfWorkFactory> registerFactory =
                Component.For <IUnitOfWorkFactory>()
                .ImplementedBy <NHibernateUnitOfWorkFactory>();

            registerFactory.Parameters(ComponentParameter.ForKey("configurationFileName").Eq(config.NHibernateConfigurationFile));

            // if we are running in test mode, we don't want to register
            // the assemblies directly, we let the DatabaseTestFixtureBase do it
            // this allow us to share the configuration between the test & prod projects
            if (DatabaseTestFixtureBase.IsRunningInTestMode == false)
            {
                registerFactory.DependsOn(Property.ForKey("assemblies").Eq(Assemblies));
            }
            Kernel.Register(registerFactory);

            Kernel.AddComponentInstance("entitiesToRepositories", typeof(INHibernateInitializationAware),
                                        new EntitiesToRepositoriesInitializationAware(config.IsCandidateForRepository));
        }
예제 #2
0
 public ServicesDependencyResolver(DirectoryInfo dropDirectory) : base(null)
 {
     innerContainer.Register(
         Component.For <ISiteStructureBuilder>()
         .ImplementedBy <SiteStructureBuilder>()
         .Parameters(Parameter.ForKey("dropDirectoryPath").Eq(dropDirectory.FullName))
         .LifeStyle.Transient
         );
 }
예제 #3
0
        /// <summary>
        ///   Specifies that value from application configuration file's appSettings section named <paramref name = "settingName" /> should be used to satisfy dependencies matched by <paramref
        ///    name = "dependencyName" />. The value is provided as a string and will be converted to appropriate type when resolving.
        /// </summary>
        /// <param name = "dependencyName"></param>
        /// <param name = "settingName"></param>
        /// <returns></returns>
        public static Parameter OnAppSettingsValue(string dependencyName, string settingName)
        {
            var value = ConfigurationManager.AppSettings.Get(settingName);

            return(Parameter.ForKey(dependencyName).Eq(value));
        }
예제 #4
0
 /// <summary>
 ///   Specifies that value <paramref name = "value" /> should be used to satisfy dependencies matched by <paramref
 ///    name = "dependencyName" />. The value is provided as a string and will be converted to appropriate type when resolving.
 /// </summary>
 /// <param name = "dependencyName"></param>
 /// <param name = "value"></param>
 /// <returns></returns>
 public static Parameter OnConfigValue(string dependencyName, IConfiguration value)
 {
     return(Parameter.ForKey(dependencyName).Eq(value));
 }
예제 #5
0
 /// <summary>
 ///   Specifies that value <paramref name = "valueAsString" /> should be used to satisfy dependencies matched by <paramref
 ///    name = "dependencyName" />. The value is provided as a string and will be converted to appropriate type when resolving.
 /// </summary>
 /// <param name = "dependencyName"></param>
 /// <param name = "valueAsString"></param>
 /// <returns></returns>
 public static Parameter OnConfigValue(string dependencyName, string valueAsString)
 {
     return(Parameter.ForKey(dependencyName).Eq(valueAsString));
 }
예제 #6
0
        public WindsorDependencyResolver(ICommandArgs commandArgs)
        {
            innerContainer = new WindsorContainer();

            if (commandArgs != null)
            {
                innerContainer.Kernel.AddComponentInstance <ICommandArgs>(typeof(ICommandArgs), commandArgs);
            }

            innerContainer.Kernel.Resolver.AddSubResolver(new EnumerableResolver(innerContainer.Kernel));

            innerContainer.Register(
                Component.For <IBuildConfigReader>()
                .Named("boo")
                .ImplementedBy <BooBuildConfigReader>()
                .LifeStyle.Transient
                );

            innerContainer.Register(
                Component.For <SVNSourceControl>()
                .Named("Svn")
                .LifeStyle.Transient
                );

            innerContainer.Register(
                Component.For <GitSourceControl>()
                .Named("Git")
                .LifeStyle.Transient
                );

            innerContainer.Register(
                Component.For <MercurialSourceControl>()
                .Named("Hg")
                .LifeStyle.Transient
                );


            innerContainer.Register(
                Component.For <IPackageCommand>()
                .Named("install")
                .ImplementedBy <PackageBuilder>()
                .LifeStyle.Transient
                );

            innerContainer.Register(
                Component.For <IGet>()
                .Named("get")
                .ImplementedBy <Get>()
                .LifeStyle.Transient
                );

            innerContainer.Register(
                Component.For <IFileSystemProvider>()
                .Named("filesystemprovider")
                .ImplementedBy <FileSystemProvider>()
                .LifeStyle.Transient
                );

            innerContainer.Register(
                Component.For <IProcessFactory>()
                .Named("processfactory")
                .ImplementedBy <DiagnosticsProcessFactory>()
                .LifeStyle.Transient

                );

            innerContainer.Register(
                Component.For <SourceControl>()
                .ImplementedBy <GitSourceControl>()
                .Parameters(Parameter.ForKey("url").Eq(MetaDataSynchroniser.PackageTreeUri))
                .LifeStyle.Transient
                );

            innerContainer.Register(
                Component.For <IMetaDataSynchroniser>()
                .ImplementedBy <MetaDataSynchroniser>()
                .LifeStyle.Transient
                );

            innerContainer.Register(
                Component.For <IPackageTree>()
                .ImplementedBy <PackageTree>()
                .LifeStyle.Transient
                );

            innerContainer.Register(
                Component.For <IEnvironmentVariable>()
                .ImplementedBy <EnvironmentVariable>()
                .LifeStyle.Transient
                );

            innerContainer.Register(
                Component.For <IShellRunner>()
                .ImplementedBy <CommandLineRunner>()
                .LifeStyle.Transient
                );

            innerContainer.Register(
                Component.For <IDependencyDispatcher>()
                .ImplementedBy <DependencyDispatcher>()
                .LifeStyle.Transient,

                Component.For <IDependentUpdaterExecutor>()
                .ImplementedBy <DependentUpdaterExecutor>()
                .LifeStyle.Transient,

                AllTypes.Of <IDependentUpdater>().FromAssembly(Assembly.GetExecutingAssembly())
                .WithService.FirstInterface().Configure(config => config.LifeStyle.Transient)
                );
        }