public void CanDeserializeSerializedConfiguration() { string sourceName1 = "source1"; string sourceName2 = "source2"; string sourceFile1 = "file 1"; ConfigurationSourceSection settings = new ConfigurationSourceSection(); FileConfigurationSource.ResetImplementation(sourceFile1, false); ConfigurationSourceElement data1 = new FileConfigurationSourceElement(sourceName1, sourceFile1); ConfigurationSourceElement data2 = new SystemConfigurationSourceElement(sourceName2); settings.Sources.Add(data1); settings.Sources.Add(data2); settings.SelectedSource = sourceName1; IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>(); sections[ConfigurationSourceSection.SectionName] = settings; IConfigurationSource configurationSource = ConfigurationTestHelper.SaveSectionsInFileAndReturnConfigurationSource(sections); ConfigurationSourceSection roSettigs = (ConfigurationSourceSection)configurationSource.GetSection(ConfigurationSourceSection.SectionName); Assert.IsNotNull(roSettigs); Assert.AreEqual(2, roSettigs.Sources.Count); Assert.AreEqual(sourceName1, roSettigs.SelectedSource); Assert.IsNotNull(roSettigs.Sources.Get(sourceName1)); Assert.AreSame(typeof(FileConfigurationSourceElement), roSettigs.Sources.Get(sourceName1).GetType()); Assert.AreEqual(sourceFile1, ((FileConfigurationSourceElement)roSettigs.Sources.Get(sourceName1)).FilePath); Assert.IsNotNull(roSettigs.Sources.Get(sourceName2)); Assert.AreSame(typeof(SystemConfigurationSourceElement), roSettigs.Sources.Get(sourceName2).GetType()); }
ConfigurationSourceSection CreateConfigurationSourceSection() { ConfigurationSourceSection section = new ConfigurationSourceSection(); section.Sources.Add(new FileConfigurationSourceElement(fileSourceName, filePath)); return(section); }
protected override void Arrange() { base.Arrange(); File.Delete(MainConfigurationFile); File.Delete(SatelliteConfigurationSourcePath); var builder = new ConfigurationSourceBuilder(); var configurationSettings = new ConfigurationSourceSection(); configurationSettings.SelectedSource = "System Configuration"; configurationSettings.Sources.Add(new FileConfigurationSourceElement(SatelliteSourceName, SatelliteConfigurationSourcePath)); configurationSettings.Sources.Add(new SystemConfigurationSourceElement("System Configuration")); builder.AddSection(ConfigurationSourceSection.SectionName, configurationSettings); builder.ConfigureCaching() .ForCacheManagerNamed("TestCacheManager") .StoreInMemory(); var source = new DesignDictionaryConfigurationSource(); builder.UpdateConfigurationWithReplace(source); ConfigurationSource = Container.Resolve <ConfigurationSourceModel>(); ConfigurationSource.Load(source); }
public void CanDeserializeSerializedConfiguration() { string sourceName1 = "source1"; string sourceName2 = "source2"; string sourceFile1 = "file 1"; ConfigurationSourceSection settings = new ConfigurationSourceSection(); ConfigurationSourceElement data1 = new FileConfigurationSourceElement(sourceName1, sourceFile1); ConfigurationSourceElement data2 = new SystemConfigurationSourceElement(sourceName2); settings.Sources.Add(data1); settings.Sources.Add(data2); settings.SelectedSource = sourceName1; IDictionary<string, ConfigurationSection> sections = new Dictionary<string, ConfigurationSection>(); sections[ConfigurationSourceSection.SectionName] = settings; using (var configurationSource = ConfigurationTestHelper.SaveSectionsInFileAndReturnConfigurationSource(sections)) { ConfigurationSourceSection roSettigs = (ConfigurationSourceSection)configurationSource.GetSection(ConfigurationSourceSection.SectionName); Assert.IsNotNull(roSettigs); Assert.AreEqual(2, roSettigs.Sources.Count); Assert.AreEqual(sourceName1, roSettigs.SelectedSource); Assert.IsNotNull(roSettigs.Sources.Get(sourceName1)); Assert.AreSame(typeof(FileConfigurationSourceElement), roSettigs.Sources.Get(sourceName1).GetType()); Assert.AreEqual(sourceFile1, ((FileConfigurationSourceElement)roSettigs.Sources.Get(sourceName1)).FilePath); Assert.IsNotNull(roSettigs.Sources.Get(sourceName2)); Assert.AreSame(typeof(SystemConfigurationSourceElement), roSettigs.Sources.Get(sourceName2).GetType()); } }
protected override void Arrange() { base.Arrange(); File.Delete(MainConfigurationFile); File.Delete(SatelliteConfigurationSourcePath); var builder = new ConfigurationSourceBuilder(); var configurationSettings = new ConfigurationSourceSection(); configurationSettings.SelectedSource = "System Configuration"; configurationSettings.Sources.Add(new FileConfigurationSourceElement(SatelliteSourceName, SatelliteConfigurationSourcePath)); configurationSettings.Sources.Add(new SystemConfigurationSourceElement("System Configuration")); builder.AddSection(ConfigurationSourceSection.SectionName, configurationSettings); builder.ConfigureExceptionHandling() .GivenPolicyWithName("policy") .ForExceptionType <Exception>(); var source = new DesignDictionaryConfigurationSource(); builder.UpdateConfigurationWithReplace(source); ConfigurationSource = Container.Resolve <ConfigurationSourceModel>(); ConfigurationSource.Load(source); }
public UserManagerImplementation() { // Get configuration source this._source = ConfigurationSourceFactory.Create(UserSettings.SectionName); // Load & Clone configuration (so not read-only) this.Load(); // Determine configuration file path if (this.Source is SystemConfigurationSource) { this._filePath = AppDomain.CurrentDomain.SetupInformation.ConfigurationFile; } else if (this.Source is FileConfigurationSource) { ConfigurationSourceSection configurationSourceSection = ConfigurationSourceSection.GetConfigurationSourceSection(); FileConfigurationSourceElement objectConfiguration = (FileConfigurationSourceElement)configurationSourceSection.Sources.Get(UserSettings.SectionName); FileConfigurationSourceElement e = (FileConfigurationSourceElement)objectConfiguration; this._filePath = objectConfiguration.FilePath; } }
public void ConfigurationCanBeDeserialized() { ConfigurationManager.RefreshSection(ConfigurationSourceSection.SectionName); ConfigurationSourceSection section = (ConfigurationSourceSection)ConfigurationManager.GetSection(ConfigurationSourceSection.SectionName); Assert.IsNotNull(section); Assert.AreEqual(1, section.Sources.Count); ManageableConfigurationSourceElement element = section.Sources.Get(0) as ManageableConfigurationSourceElement; Assert.IsNotNull(element); Assert.AreEqual(2, element.ConfigurationManageabilityProviders.Count); ConfigurationSectionManageabilityProviderData data1 = element.ConfigurationManageabilityProviders.Get("section1"); Assert.IsNotNull(data1); Assert.AreEqual(typeof(MockConfigurationSectionManageabilityProvider), data1.Type); Assert.AreEqual(3, data1.ManageabilityProviders.Count); ConfigurationElementManageabilityProviderData elementData11 = data1.ManageabilityProviders.Get("subProvider1"); Assert.IsNotNull(elementData11); Assert.AreEqual(typeof(Object), elementData11.TargetType); ConfigurationSectionManageabilityProviderData data2 = element.ConfigurationManageabilityProviders.Get("section2"); Assert.IsNotNull(data2); Assert.AreEqual(typeof(MockConfigurationSectionManageabilityProvider), data1.Type); Assert.AreEqual(0, data2.ManageabilityProviders.Count); }
protected virtual ConfigurationSourceSection CreateConfigurationSourceSection() { ConfigurationSourceSection section = new ConfigurationSourceSection(); section.Sources.Add(new TestConfigurationSourceElement(SubordinateSource1Name)); return(section); }
protected override void Arrange() { base.Arrange(); Mock <AssemblyLocator> assemblyLocator = new Mock <AssemblyLocator>(); assemblyLocator.Setup(x => x.Assemblies).Returns(new Assembly[] { typeof(ManageableConfigurationSourceElement).Assembly }); this.Container.RegisterType <ManageableConfigurationSourceViewModel>( new InjectionConstructor( typeof(ElementCollectionViewModel), typeof(ConfigurationElement), new InjectionParameter <AssemblyLocator>(assemblyLocator.Object))); targetFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "manageableSourcetextnp.config"); File.Create(targetFilePath).Dispose(); File.WriteAllText(targetFilePath, "<configuration/>"); var source = new DesignConfigurationSource(targetFilePath); ConfigurationSourceElement = new ManageableConfigurationSourceElement { Name = "manageable", FilePath = "file.config", ConfigurationManageabilityProviders = { new ConfigurationSectionManageabilityProviderData { Name = "provider", TypeName = typeof(object).AssemblyQualifiedName } } }; var section = new ConfigurationSourceSection { SelectedSource = "manageable", Sources = { ConfigurationSourceElement } }; source.AddLocalSection(ConfigurationSourceSection.SectionName, section); var sourceModel = this.Container.Resolve <ConfigurationSourceModel>(); sourceModel.Load(source); SectionViewModel = sourceModel.Sections.Where(x => x.ConfigurationType == typeof(ConfigurationSourceSection)).Single(); ConfigurationSourceViewModel = SectionViewModel.GetDescendentsOfType <ManageableConfigurationSourceElement>().FirstOrDefault(); ConfigurationSourceElement = (ManageableConfigurationSourceElement)ConfigurationSourceViewModel.ConfigurationElement; }
private void AddConfigurationSourcesToHierarchy() { ConfigurationSourceSection section = new ConfigurationSourceSection(); section.Sources.Add(new SystemConfigurationSourceElement("System")); section.Sources.Add(new FileConfigurationSourceElement("File", "app.config")); section.SelectedSource = "File"; ConfigurationSourceSectionNodeBuilder builder = new ConfigurationSourceSectionNodeBuilder(ServiceProvider, section); ApplicationNode.AddNode(builder.Build()); }
private ConfigurationSourceSectionNode GetSectionNode() { ConfigurationSourceSection section = new ConfigurationSourceSection(); section.Sources.Add(new SystemConfigurationSourceElement("System")); section.Sources.Add(new FileConfigurationSourceElement("File", "app.config")); section.SelectedSource = "File"; ConfigurationSourceSectionNodeBuilder builder = new ConfigurationSourceSectionNodeBuilder(ServiceProvider, section); return(builder.Build()); }
public void CanReadAndWriteConfigurationSourceSectionInformation() { RemoveSection(); SaveSection(); System.Configuration.Configuration config = OpenFileConfig(); ConfigurationSourceSection section = (ConfigurationSourceSection)config.GetSection(ConfigurationSourceSection.SectionName); FileConfigurationSourceElement elem = (FileConfigurationSourceElement)section.Sources.Get(fileSourceName); Assert.AreEqual(typeof(FileConfigurationSource), elem.Type); Assert.AreEqual(filePath, elem.FilePath); RemoveSection(); }
public ConfigurationSourceSection Build() { ConfigurationSourceSection section = new ConfigurationSourceSection(); section.SelectedSource = configurationSourceSectionNode.SelectedSource.Name; for (int index = 0; index < configurationSourceSectionNode.Nodes.Count; ++index) { ConfigurationSourceElementNode sourceNode = (ConfigurationSourceElementNode)configurationSourceSectionNode.Nodes[index]; section.Sources.Add(sourceNode.ConfigurationSourceElement); } return(section); }
private static IDesignConfigurationSource GetSelectedConfigSource(ConfigurationSourceSection configSourceSection, IDesignConfigurationSource mainConfigurationSource) { if (configSourceSection == null) { return(null); } var selectedSource = configSourceSection.Sources.Where(s => s.Name == configSourceSection.SelectedSource). FirstOrDefault(); return(selectedSource == null ? null : selectedSource.CreateDesignSource(mainConfigurationSource)); }
private static Rule GetRule(string ruleName, ConfigurationSourceSection section) { SqlConfigurationSource source = GetSelectedConfigurationSource(section); //get selected source SqlConfigurationSource selectedSource = GetSelectedConfigurationSource(section); SecurityConfigurationView securityConfigurationView = new SecurityConfigurationView(selectedSource); AuthorizationRuleProviderData authorizationProviderData = GetAuthorizationProviderData(securityConfigurationView, source, section); AuthorizationRuleData authorizationRuleData = authorizationProviderData.Rules.Get(ruleName); return(new Rule(authorizationRuleData.Name, authorizationRuleData.Expression)); }
private static SqlConfigurationSource GetSelectedConfigurationSource(ConfigurationSourceSection section) { //find the selected configuration source ie system (app.config) or sql************ string selectedSource = section.SelectedSource; NameTypeConfigurationElementCollection <ConfigurationSourceElement> sources = section.Sources; SqlConfigurationSourceElement element = GetElement(selectedSource, sources); return(new SqlConfigurationSource(element.ConnectionString, element.GetStoredProcedure, element.SetStoredProcedure, element.RefreshStoredProcedure, element.RemoveStoredProcedure)); //************************************************************* }
protected override void Arrange() { base.Arrange(); sourceSection = new ConfigurationSourceSection() { ParentSource = "MissingParentSource" }; var localSource = new TestConfigurationSource(); localSource.Add(ConfigurationSourceSection.SectionName, sourceSection); hierarchicalConfigurationSourceHandler = new HierarchicalConfigurationSourceHandler(localSource); localSource.SetHierarchyHandler(hierarchicalConfigurationSourceHandler); }
protected override void Arrange() { base.Arrange(); var section = new ConfigurationSourceSection(); section.Sources.Add(new SystemConfigurationSourceElement() { Name = "System Source" }); var configSource = Container.Resolve <ConfigurationSourceModel>(); configSourceSectionViewModel = configSource.AddSection(ConfigurationSourceSection.SectionName, section); }
public static ErrorType GetErrorType(string exceptionType, string opCoCode, string policyName) { ErrorType errorType = null; //read the config details from file or other source (db) to find the error handling section //find the configuration source section ConfigurationSourceSection section = ConfigurationSourceSection.GetConfigurationSourceSection(); //find the selected source where our config sections are stored string selectedSource = section.SelectedSource; NameTypeConfigurationElementCollection <ConfigurationSourceElement> sources = section.Sources; ConfigurationSourceElement element = sources.Get(selectedSource); if (element is SqlConfigurationSourceElement) { SqlConfigurationSourceElement sqlElement = element as SqlConfigurationSourceElement; SqlConfigurationSource configurationSource = new SqlConfigurationSource(sqlElement.ConnectionString, sqlElement.GetStoredProcedure, sqlElement.SetStoredProcedure, sqlElement.RefreshStoredProcedure, sqlElement.RemoveStoredProcedure); //find all the exception policies NamedElementCollection <ExceptionPolicyData> policies = ExceptionHandlingSettings.GetExceptionHandlingSettings(configurationSource).ExceptionPolicies; //find just the one specified if (policies != null) { ExceptionPolicyData specifiedPolicy = policies.Get(policyName); if (specifiedPolicy != null) { specifiedPolicy.ExceptionTypes.ForEach(delegate(ExceptionTypeData currentExceptionType) { if (currentExceptionType.Type.ToString() == exceptionType) { errorType = PopulateErrorType(policyName, opCoCode, currentExceptionType); } } ); } } } return(errorType); }
public ConfigurationSourceSection Build() { ConfigurationSourceSection section = new ConfigurationSourceSection(); if (!configurationSourceSectionNode.RequirePermission) // don't set if false { section.SectionInformation.RequirePermission = configurationSourceSectionNode.RequirePermission; } section.SelectedSource = configurationSourceSectionNode.SelectedSource.Name; for (int index = 0; index < configurationSourceSectionNode.Nodes.Count; ++index) { ConfigurationSourceElementNode sourceNode = (ConfigurationSourceElementNode)configurationSourceSectionNode.Nodes[index]; section.Sources.Add(sourceNode.ConfigurationSourceElement); } return(section); }
public void ConfigurationElementWithProvidersCanBeSerialized() { string otherConfigurationFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Other.config"); ExeConfigurationFileMap configMap = new ExeConfigurationFileMap(); configMap.ExeConfigFilename = otherConfigurationFile; File.Copy(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile, otherConfigurationFile); try { SysConfig.Configuration rwConfiguration = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None); ConfigurationSourceSection rwConfigurationSourceSection = rwConfiguration.GetSection(ConfigurationSourceSection.SectionName) as ConfigurationSourceSection; rwConfigurationSourceSection.Sources.Clear(); ManageableConfigurationSourceElement rwConfigurationSourceElement = new ManageableConfigurationSourceElement("manageable", otherConfigurationFile, "TestApplication"); rwConfigurationSourceElement.ConfigurationManageabilityProviders.Add(new ConfigurationSectionManageabilityProviderData("section1", typeof(MockConfigurationSectionManageabilityProvider))); rwConfigurationSourceSection.Sources.Add(rwConfigurationSourceElement); rwConfiguration.Save(); SysConfig.Configuration roConfiguration = ConfigurationManager.OpenMappedExeConfiguration(configMap, ConfigurationUserLevel.None); ConfigurationSourceSection roConfigurationSourceSection = roConfiguration.GetSection(ConfigurationSourceSection.SectionName) as ConfigurationSourceSection; Assert.IsNotNull(roConfigurationSourceSection); Assert.AreEqual(1, roConfigurationSourceSection.Sources.Count); ManageableConfigurationSourceElement roConfigurationSourceElement = roConfigurationSourceSection.Sources.Get("manageable") as ManageableConfigurationSourceElement; Assert.IsNotNull(roConfigurationSourceElement); Assert.AreEqual(1, roConfigurationSourceElement.ConfigurationManageabilityProviders.Count); ConfigurationSectionManageabilityProviderData roProviderData = roConfigurationSourceElement.ConfigurationManageabilityProviders.Get(0); Assert.AreEqual("section1", roProviderData.Name); } finally { if (File.Exists(otherConfigurationFile)) { File.Delete(otherConfigurationFile); } } }
private void ChangeSourcesSection() { var sourcesSection = (ConfigurationSourceSection)RootConfiguration.GetSection(ConfigurationSourceSection.SectionName); var newSources = new ConfigurationSourceSection { ParentSource = sourcesSection.ParentSource, SelectedSource = sourcesSection.SelectedSource }; CopyData(sourcesSection.Sources, s => newSources.Sources.Add(s)); CopyData(sourcesSection.RedirectedSections, r => newSources.RedirectedSections.Add(r)); newSources.Sources.Get("Second Source").Name = "New Source Name"; newSources.RedirectedSections.Get(LoggingSettings.SectionName).SourceName = "New Source Name"; ((FileConfigurationSource)RootConfiguration).Save(ConfigurationSourceSection.SectionName, newSources); }
protected virtual IConfigurationSource DoSetup() { if (source == null) { if (ConfigurationSourceFileName == null) { source = ConfigurationSourceFactory.Create(); } else { WriteEmbeddedFileToDisk(ResourceAssembly, ConfigurationSourceFileName); if (!UseMultipleSources) { source = new FileConfigurationSource(ConfigurationSourceFileName); } else { ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap(); fileMap.ExeConfigFilename = ConfigurationSourceFileName; System.Configuration.Configuration configuration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None); // Added support for multiple sources ConfigurationSourceSection configurationSourceSection = configuration.GetSection(ConfigurationSourceSection.SectionName) as ConfigurationSourceSection; if (configurationSourceSection != null) { string systemSourceName = configurationSourceSection.SelectedSource; if (!string.IsNullOrEmpty(systemSourceName)) { ConfigurationSourceElement objectConfiguration = configurationSourceSection.Sources.Get(systemSourceName); source = objectConfiguration.CreateSource(); } } } } } return(source); }
protected override void Arrange() { ConfigurationSourceSection configurationSourcesSection = CreateConfigurationSourceSection(); MainSource = new TestConfigurationSource(); MainSource.Add(ConfigurationSourceSection.SectionName, configurationSourcesSection); CompositionHandler = new TestCompositeConfigurationSourceHandler(MainSource); MainSource.SetCompositeHandler(CompositionHandler); ChildSource1 = (TestConfigurationSource)CompositionHandler["Source1"]; ChildSource2 = (TestConfigurationSource)CompositionHandler["Source2"]; MainSourceEventListener = new ConfigurationSourceEventListener(MainSource); ChildSource1.Add(SectionInChildSource1, new DummySection { Name = SectionInChildSource1, Value = 15 }); }
protected ConfigurationSourceSection CreateConfigurationSourceSection() { ConfigurationSourceSection configurationSourcesSection = new ConfigurationSourceSection(); configurationSourcesSection.Sources.Add(new TestConfigurationSourceElement("Source1")); configurationSourcesSection.Sources.Add(new TestConfigurationSourceElement("Source2")); configurationSourcesSection.RedirectedSections.Add(new RedirectedSectionElement { Name = "sectionInChild1", SourceName = "Source1" }); configurationSourcesSection.RedirectedSections.Add(new RedirectedSectionElement { Name = "SectionInSource2", SourceName = "Source2" }); return(configurationSourcesSection); }
/// <summary> /// Gets all rules. /// </summary> /// <returns></returns> public static List <Rule> GetAllRules() { ConfigurationSourceSection section = GetConfigurationSourceSection(); SqlConfigurationSource source = GetSelectedConfigurationSource(section); //get selected source SqlConfigurationSource selectedSource = GetSelectedConfigurationSource(section); SecurityConfigurationView securityConfigurationView = new SecurityConfigurationView(selectedSource); AuthorizationRuleProviderData authorizationProviderData = GetAuthorizationProviderData(securityConfigurationView, source, section); List <Rule> rules = new List <Rule>(); //loop through all the rules authorizationProviderData.Rules.ForEach(delegate(AuthorizationRuleData currentRule) { rules.Add(new Rule(currentRule.Name, currentRule.Expression)); }); return(rules); }
/// <summary> /// 取webconfig中的配置 /// </summary> /// <param name="SourceName"></param> /// <returns></returns> private static FileConfigurationSource GetFileConfigurationSource(string SourceName) { //获取App.config //Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); Configuration config = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("~"); //获取资源节点集合 ConfigurationSourceSection section = (ConfigurationSourceSection)config.GetSection(ConfigurationSourceSection.SectionName); //获取重定向配置文件资源配置节点 FileConfigurationSourceElement elem = (FileConfigurationSourceElement)section.Sources.Get(SourceName); //获取重定向配置文件资源 FileConfigurationSource fileSource = new FileConfigurationSource(HttpContext.Current.Server.MapPath(elem.FilePath)); return(fileSource); }
/// <summary> /// Updates a rule. /// </summary> /// <param name="rule">The rule.</param> public static void UpdateRule(Rule rule) { using (TransactionScope scope = new TransactionScope()) { ConfigurationSourceSection section = GetConfigurationSourceSection(); //get selected source SqlConfigurationSource selectedSource = GetSelectedConfigurationSource(section); //get authorization Provider SecurityConfigurationView securityConfigurationView = new SecurityConfigurationView(selectedSource); SecuritySettings securitySettings = securityConfigurationView.GetSecuritySettings(); AuthorizationRuleProviderData authorizationProviderData = securitySettings.AuthorizationProviders.Get( securityConfigurationView.GetDefaultAuthorizationProviderName()) as AuthorizationRuleProviderData; //add the new rule to the collection authorizationProviderData.Rules.Get(rule.Name).Expression = rule.Expression; SqlConfigurationSourceElement element = GetElement(section.SelectedSource, section.Sources); selectedSource.Save(element.ConnectionString, element.SetStoredProcedure, "securityConfiguration", securitySettings); scope.Complete(); } }
protected override void Arrange() { base.Arrange(); ConfigurationSourceSection sourcesSection = new ConfigurationSourceSection { SelectedSource = "selected", ParentSource = "parent", Sources = { { new FileConfigurationSourceElement { Name = "selected" } }, { new FileConfigurationSourceElement { Name = "parent" } } } }; ConfigurationSourceModel sourceModel = Container.Resolve <ConfigurationSourceModel>(); sourceModel.AddSection(ConfigurationSourceSection.SectionName, sourcesSection); SourcesSectionViewModel = sourceModel.Sections.Where(x => x.SectionName == ConfigurationSourceSection.SectionName).Single(); }
/// <summary> /// Gets the a <see cref="ConfigurationSectionInfo"/> for the configuration sources. /// </summary> /// <param name="serviceProvider">The a mechanism for retrieving a service object; that is, an object that provides custom support to other objects.</param> /// <returns>A <see cref="ConfigurationSectionInfo"/> for the configuration for the configuration sources.</returns> protected override ConfigurationSectionInfo GetConfigurationSectionInfo(IServiceProvider serviceProvider) { ConfigurationNode rootNode = ServiceHelper.GetCurrentRootNode(serviceProvider); ConfigurationSourceSectionNode node = null; if (null != rootNode) { node = (ConfigurationSourceSectionNode)rootNode.Hierarchy.FindNodeByType(rootNode, typeof(ConfigurationSourceSectionNode)); } ConfigurationSourceSection sourcesSection = null; if (node == null) { sourcesSection = null; } else { ConfigurationSourceSectionBuilder builder = new ConfigurationSourceSectionBuilder(node); sourcesSection = builder.Build();; } return(new ConfigurationSectionInfo(node, sourcesSection, ConfigurationSourceSection.SectionName)); }
protected override void Arrange() { base.Arrange(); targetFilePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "manageableSource.config"); File.Create(targetFilePath).Dispose(); File.WriteAllText(targetFilePath, "<configuration/>"); var source = new DesignConfigurationSource(targetFilePath); var section = new ConfigurationSourceSection { SelectedSource = "manageable", Sources = { new ManageableConfigurationSourceElement { Name = "manageable", FilePath = "file.config", } } }; source.AddLocalSection(ConfigurationSourceSection.SectionName, section); var sourceModel = this.Container.Resolve <ConfigurationSourceModel>(); sourceModel.Load(source); SectionViewModel = sourceModel.Sections.Where(x => x.ConfigurationType == typeof(ConfigurationSourceSection)).Single(); ConfigurationSourceViewModel = SectionViewModel.GetDescendentsOfType <ManageableConfigurationSourceElement>().FirstOrDefault(); }
ConfigurationSourceSection CreateConfigurationSourceSection() { ConfigurationSourceSection section = new ConfigurationSourceSection(); section.Sources.Add(new FileConfigurationSourceElement(fileSourceName, filePath)); return section; }