public static ForKey ( String key ) : |
||
key | String | The parameter key. |
리턴 |
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)); }
public ServicesDependencyResolver(DirectoryInfo dropDirectory) : base(null) { innerContainer.Register( Component.For <ISiteStructureBuilder>() .ImplementedBy <SiteStructureBuilder>() .Parameters(Parameter.ForKey("dropDirectoryPath").Eq(dropDirectory.FullName)) .LifeStyle.Transient ); }
/// <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)); }
/// <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)); }
/// <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)); }
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) ); }