public virtual void Save(IServiceProvider serviceProvider) { ConfigurationSectionInfo info = null; ConfigurationNode node = ServiceHelper.GetCurrentRootNode(serviceProvider); try { IConfigurationSource configurationSource = GetConfigurationSource(serviceProvider); IConfigurationParameter parameter = GetConfigurationParameter(serviceProvider); info = GetConfigurationSectionInfo(serviceProvider); if (null != info && !string.IsNullOrEmpty(info.SectionName)) { if (null != info.Section) { configurationSource.Add(parameter, info.SectionName, info.Section); } else { configurationSource.Remove(parameter, info.SectionName); } } } catch (Exception e) { ServiceHelper.LogError(serviceProvider, info != null ? info.Node : node, e); } }
/// <summary> /// Builds the currently defined configuration in design time. /// </summary> /// <param name="serviceProvider">The a mechanism for retrieving a service object; that is, an object that provides custom support to other objects.</param> /// <param name="dictionaryConfigurationSource">The <see cref="DictionaryConfigurationSource"/> to save the configuration.</param> public void BuildConfigurationSource(IServiceProvider serviceProvider, DictionaryConfigurationSource dictionaryConfigurationSource) { if (null == dictionaryConfigurationSource) { throw new ArgumentNullException("dictionaryConfigurationSource"); } ConfigurationSectionInfo info = GetConfigurationSectionInfo(serviceProvider); if (null != info && null != info.Section) { dictionaryConfigurationSource.Add(info.SectionName, info.Section); } }
public void Open(IServiceProvider serviceProvider) { IConfigurationSource configurationSource = GetConfigurationSource(serviceProvider); ConfigurationApplicationNode appNode = ServiceHelper.GetCurrentRootNode(serviceProvider); try { ConfigurationSectionInfo info = GetConfigurationSectionInfo(serviceProvider); if (null != info) { ConfigurationSection section = configurationSource.GetSection(info.SectionName); OpenCore(serviceProvider, appNode, section); } } catch (Exception e) { ServiceHelper.LogError(serviceProvider, appNode, e); } }