// 修改applicationSettings中App.Properties.Settings中服务的IP地址 public static void UpdateConfig(string configPath, string serverIP) { Configuration config = ConfigurationManager.OpenExeConfiguration(configPath); ConfigurationSectionGroup sec = config.SectionGroups["applicationSettings"]; ConfigurationSection configSection = sec.Sections["DataService.Properties.Settings"]; ClientSettingsSection clientSettingsSection = configSection as ClientSettingsSection; if (clientSettingsSection != null) { SettingElement element1 = clientSettingsSection.Settings.Get("DataService_SystemManagerWS_SystemManagerWS"); if (element1 != null) { clientSettingsSection.Settings.Remove(element1); string oldValue = element1.Value.ValueXml.InnerXml; element1.Value.ValueXml.InnerXml = GetNewIP(oldValue, serverIP); clientSettingsSection.Settings.Add(element1); } SettingElement element2 = clientSettingsSection.Settings.Get("DataService_EquipManagerWS_EquipManagerWS"); if (element2 != null) { clientSettingsSection.Settings.Remove(element2); string oldValue = element2.Value.ValueXml.InnerXml; element2.Value.ValueXml.InnerXml = GetNewIP(oldValue, serverIP); clientSettingsSection.Settings.Add(element2); } } config.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("applicationSettings"); }
/// <summary> /// 从SectionGroup中读取Section。在Section写在Group里时使用 /// </summary> /// <param name="sectionName">section name</param> /// <param name="groups">SectionGroup</param> /// <returns>ConfigurationSection</returns> private static ConfigurationSection GetSectionFromGroups(string sectionName, ConfigurationSectionGroupCollection groups) { ConfigurationSection section = null; for (int i = 0; i < groups.Count; i++) { try { ConfigurationSectionGroup group = groups[i]; if (group.SectionGroups.Count > 0) { section = GetSectionFromGroups(sectionName, group.SectionGroups); } else { section = group.Sections[sectionName]; } if (section != null) { break; } } catch (System.IO.FileNotFoundException) { } } return(section); }
/// <summary> /// Retrieve specific section value from the web.config /// </summary> /// <param name="configSection">Main Web.config section</param> /// <param name="subSection">Child Section{One layer down}</param> /// <param name="innersection">Keyed on Section Name</param> /// <param name="propertyName">Element property name</param> /// <returns></returns> /// <example>string setting = NoordWorld.Common.Utilities.SiteSupport.RetrieveApplicationSetting("applicationSettings", "NoordWorld.ServiceSite.Properties.Settings", "ServiceWS_SrvWebReference_Service", "value")</example> public static string RetrieveApplicationSetting(string configSection, string subSection, string innersection, string propertyName) { string result = string.Empty; HttpWorkerRequest fakeWorkerRequest = null; try { using (TextWriter textWriter = new StringWriter()) { fakeWorkerRequest = new SimpleWorkerRequest("default.aspx", "", textWriter); var fakeHTTPContext = new HttpContext(fakeWorkerRequest); Configuration config = ConfigurationManager.OpenMappedExeConfiguration(new ExeConfigurationFileMap() { ExeConfigFilename = fakeHTTPContext.Server.MapPath(@"~/Web.config") }, ConfigurationUserLevel.None); ConfigurationSectionGroup group = config.SectionGroups[configSection]; if (group != null) { ClientSettingsSection clientSection = group.Sections[subSection] as ClientSettingsSection; if (clientSection != null) { SettingElement settingElement = clientSection.Settings.Get(innersection); if (settingElement != null) { result = (((SettingValueElement)(settingElement.ElementInformation.Properties[propertyName].Value)).ValueXml).InnerText; } } } } } catch (Exception ex) { throw ex; } finally { fakeWorkerRequest.CloseConnection(); } return(result); }
private void CreateAllSectionName(ref List <string> sectionNameList, ConfigurationSectionGroup sectionGroup) { #region Contracts if (sectionGroup == null) { throw new ArgumentNullException(); } #endregion // Section foreach (ConfigurationSection childSection in sectionGroup.Sections) { ReflectConfigurationSection section = childSection as ReflectConfigurationSection; if (section != null) { sectionNameList.Add(section.SectionInformation.SectionName); } } // SectionGroup foreach (ConfigurationSectionGroup childSectionGroup in sectionGroup.SectionGroups) { this.CreateAllSectionName(ref sectionNameList, childSectionGroup); } }
//</Snippet8> //<Snippet9> static void Remove() { try { System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration( ConfigurationUserLevel.None); ConfigurationSectionGroup customGroup = config.SectionGroups.Get("CustomGroup"); if (customGroup != null) { config.SectionGroups.Remove("CustomGroup"); config.Save(ConfigurationSaveMode.Full); } else { Console.WriteLine( "CustomGroup does not exists."); } } catch (ConfigurationErrorsException err) { Console.WriteLine(err.ToString()); } }
//</Snippet7> //<Snippet8> static void GetItems() { try { System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration( ConfigurationUserLevel.None); ConfigurationSectionGroupCollection groups = config.SectionGroups; ConfigurationSectionGroup group1 = groups.Get("system.net"); ConfigurationSectionGroup group2 = groups.Get("system.web"); Console.WriteLine( "Group1: {0}", group1.Name); Console.WriteLine( "Group2: {0}", group2.Name); } catch (ConfigurationErrorsException err) { Console.WriteLine(err.ToString()); } }
//</Snippet3> //<Snippet4> static void GetGroup() { try { System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration( ConfigurationUserLevel.None); ConfigurationSectionGroup customGroup = config.SectionGroups.Get("CustomGroup"); if (customGroup == null) { Console.WriteLine( "Failed to load CustomSection."); } else { // Display section information Console.WriteLine("Section group name: {0}", customGroup.SectionGroupName); Console.WriteLine("Name: {0}", customGroup.Name); Console.WriteLine("Type: {0}", customGroup.Type); } } catch (ConfigurationErrorsException err) { Console.WriteLine(err.ToString()); } }
public void CreateConfigFile(SampleRunnerOptions options, out string newConfigFilePath) { newConfigFilePath = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName() + ".config"); ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap { ExeConfigFilename = newConfigFilePath }; var config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None, options.EnablePreloadConfigFileCheckBox); // Create configuration //ExternalTypesFooDemoGroup grp = new ExternalTypesFooDemoGroup(); ConfigurationSectionGroup sectionGroup = new ConfigurationSectionGroup(); ExternalTypesFooDemoSection section = new ExternalTypesFooDemoSection(); config.SectionGroups.Add("externalTypesFooDemoGroup", sectionGroup); config.Sections.Add("externalTypesFooDemoSection", section); section.Foo.Baz = new CustomBlock { Height = 42, Width = 314, Depth = 312 }; section.Bars.Add(new Bar { Crackle = 3.14F, Snap = true }); section.Bars.Add(new Bar { Crackle = 2.71828F, Snap = false }); config.Save(); }
public void CreateConfigurationFromAppConfig() { if (ConfigurationExists) { throw new ConfigurationException("Configuration file already exists"); } System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); ConfigurationSectionGroup configGroups = config.SectionGroups[Properties.Resources.APPLICATION_CONFIGURATION_SECTION]; string directoryPath = Path.GetDirectoryName(ConfigurationFilePath); Directory.CreateDirectory(directoryPath); XmlTextWriter xmlTextWriter = new XmlTextWriter(ConfigurationFilePath, Encoding.UTF8); xmlTextWriter.WriteStartDocument(false); xmlTextWriter.Formatting = Formatting.Indented; xmlTextWriter.Indentation = 4; xmlTextWriter.WriteStartElement(configGroups.SectionGroupName); foreach (ConfigurationSection section in configGroups.Sections) { xmlTextWriter.WriteNode(XmlReader.Create(new StringReader(section.SectionInformation.GetRawXml())), false); } xmlTextWriter.WriteEndElement(); xmlTextWriter.WriteEndDocument(); xmlTextWriter.Close(); LoadConfiguration(); }
public void UpdateConfigurationFileFromAppConfig() { System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); ConfigurationSectionGroup configGroups = config.SectionGroups[Properties.Resources.APPLICATION_CONFIGURATION_SECTION]; XmlNode parentNode = null; foreach (XmlNode node in XmlDocument.ChildNodes) { parentNode = node.Name.Equals(Properties.Resources.APPLICATION_CONFIGURATION_SECTION) ? node : parentNode; } foreach (ConfigurationSection section in configGroups.Sections) { XmlNode xmlSection = null; foreach (XmlNode childNode in parentNode.ChildNodes) { if (childNode.Name.Equals(section.SectionInformation.Name)) { xmlSection = childNode; } } if (xmlSection == null) { parentNode.InnerXml += section.SectionInformation.GetRawXml(); } } UpdateConfigurationFile(); }
/// <summary> /// 修改system.serviceModel下所有服务终结点的IP地址 /// </summary> /// <param name="configPath">Assembly.GetEntryAssembly().Location</param> /// <param name="serverIP"></param> /// <param name="serverPort"></param> public static void UpdateServiceModelConfig(string configPath, string serverIP, string serverPort) { Configuration config = ConfigurationManager.OpenExeConfiguration(configPath); ConfigurationSectionGroup sec = config.SectionGroups["system.serviceModel"]; ServiceModelSectionGroup serviceModelSectionGroup = sec as ServiceModelSectionGroup; ClientSection clientSection = serviceModelSectionGroup.Client; foreach (ChannelEndpointElement item in clientSection.Endpoints) { string address = ""; //端口号为空 if (string.IsNullOrEmpty(serverPort)) { address = item.Address.Scheme + "://" + serverIP + item.Address.AbsolutePath; } else { address = item.Address.Scheme + "://" + serverIP + ":" + serverPort + item.Address.AbsolutePath; } item.Address = new Uri(address); //string pattern = @"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d+\b"; //string address = item.Address.ToString(); //string replacement = string.Format("{0}:{1}", serverIP, serverPort); //address = Regex.Replace(address, pattern, replacement); //item.Address = new Uri(address); } foreach (ServiceElement el in serviceModelSectionGroup.Services.Services) { string address = el.Host.BaseAddresses[0].BaseAddress; int idx = address.IndexOf("/"); string scheme = address.Substring(0, idx + 2); address = address.Replace("net.tcp://", "") .Replace("net.pipe://", "") .Replace("net.msmq://", "") .Replace("http://", "") .Replace("https://", "") .Replace("net.p2p://", ""); idx = address.IndexOf("/"); string absolutePath = address.Substring(idx); //端口号为空 if (string.IsNullOrEmpty(serverPort)) { address = scheme + serverIP + absolutePath; } else { address = scheme + serverIP + ":" + serverPort + absolutePath; } el.Host.BaseAddresses[0].BaseAddress = address; //string pattern = @"\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d+\b"; //string baseAddress = el.Host.BaseAddresses[0].BaseAddress; //string replacement = string.Format("{0}:{1}", serverIP, serverPort); //string address = Regex.Replace(baseAddress, pattern, replacement); //el.Host.BaseAddresses[0].BaseAddress = address; } config.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("system.serviceModel"); }
static ConfigurationBroker() { Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); group = (ChapterConfigurationSectionGroup)configuration.GetSectionGroup("MA.PracticalPattern"); ConfigurationSectionGroup groupCreator = configuration.GetSectionGroup("MA.PracticalPattern"); }
/// <summary> /// Retrieves specified configuration section. Recursively traverses .config file's section groups. /// </summary> /// <typeparam name="T">Configuration section type.</typeparam> /// <param name="group">Current configuration section group.</param> /// <returns>Configuration section object with config values.</returns> private static T TraverseConfigSections <T>(ConfigurationSectionGroup group) where T : ConfigurationSection { foreach (var section in @group.Sections.Cast <ConfigurationSection>().Where(section => Type.GetType(section.SectionInformation.Type, false) == typeof(T))) { return((T)section); } return((from ConfigurationSectionGroup g in @group.SectionGroups select TraverseConfigSections <T>(g)).FirstOrDefault(section => section != null)); }
/// <summary> /// 获取配置组中定义的所有子配置段信息 /// </summary> /// <param name="group">配置组</param> /// <returns>包含配置组中声明的所有ConfigurationSection属性信息的迭代器</returns> public static IEnumerator <PropertyInfo> GetDeclaredSubSections(ConfigurationSectionGroup group) { if (object.ReferenceEquals(null, group)) { return(null); } return(GetDeclaredSubSections(group.GetType())); }
//<Snippet9> static void ShowSectionGroupCollectionInfo(ConfigurationSectionGroupCollection mySectionGroupCollection) { foreach (String mySectionGroupName in mySectionGroupCollection.Keys) { ConfigurationSectionGroup mySectionGroup = (ConfigurationSectionGroup)mySectionGroupCollection[mySectionGroupName]; ShowSectionGroupInfo(mySectionGroup); } }
/// <summary> /// Get applicationConfiguration value from app.<ENV>.config file /// This automatically loads the config file for the startup application i.e. Specs /// </summary> /// <param name="key"></param> /// <returns></returns> public static string Get(string key) { Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); ConfigurationSectionGroup applicationSettingsGroup = config.GetSectionGroup("applicationSettings"); ConfigurationSection applicationConfigSection = applicationSettingsGroup.Sections["BPOWBAutomation.Properties.Settings"]; ClientSettingsSection clientSection = (ClientSettingsSection)applicationConfigSection; return(clientSection.Settings.Get(key).Value.ValueXml.InnerText); }
public static string GetConfigSection(string sectionGroupName, string sectionName, string sectionKey) { Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); ConfigurationSectionGroup applicationSectionGroup = config.GetSectionGroup(sectionGroupName); ConfigurationSection applicationConfigSection = applicationSectionGroup.Sections[sectionName]; ClientSettingsSection clientSection = (ClientSettingsSection)applicationConfigSection; return(clientSection.Settings.Get(sectionKey).Value.ValueXml.InnerText); }
public IEnumerable <T> ReadGroup <T>(String groupName) where T : ConfigurationSection { ConfigurationSectionGroup group = Configuration.SectionGroups.Get(groupName); if (group != null) { return(group.Sections.OfType <T>()); } return(Enumerable.Empty <T>()); }
//</Snippet12> //<Snippet13> static void ForceDeclaration( ConfigurationSectionGroup sectionGroup, bool force) { sectionGroup.ForceDeclaration(force); Console.WriteLine( "Forced declaration for the group: {0} is {1}", sectionGroup.Name, force.ToString()); }
private ConfigurationSectionGroup GetSectionGroup() { ConfigurationSectionGroup group = config.SectionGroups["ExtentProgram"]; if (group == null) { config.SectionGroups.Add("ExtentProgram", new ConfigurationSectionGroup()); } return(group); }
///// <summary> ///// 从配置文件中加载SAP的连接配置。 ///// </summary> ///// <returns></returns> //public static RfcDestinationCollection LoadSAPAllConfig() //{ // //if (SAPINT.SAPConfigList.loadDefaultSystemListFromSAPLogonIniFile()) // //{ // // // MessageBox.Show("成功加载SAP GUI配置文件!"); // //} // try // { // RfcGeneralConfiguration configuration2 = getSAPGeneralConfiguration(); // RfcDestinationCollection clientsSetting = getClientSettings(); // if (clientsSetting != null) // { // return clientsSetting; // // RfcDestinationManager.RegisterDestinationConfiguration(new DefaultDestinationConfiguration(clientsSetting)); // } // RfcServerCollection severSetting = getServerSettings(); // if (severSetting != null) // { // // RfcServerManager.RegisterServerConfiguration(new DefaultServerConfiguration(severSetting)); // } // // RfcServerManager.loadedFromParameterFile = true; // } // catch (Exception) // { // throw new Exception("无法从配置文件加载"); // } //} /// <summary> /// 加载根节点 /// </summary> private static void getSapSectionGroup() { System.Configuration.Configuration configuration = null; // configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); configuration = SAPGlobalSettings.config; sectionGroup = configuration.GetSectionGroup("SAPINT"); if (sectionGroup == null) { throw new Exception("无法从配置文件加载SAP配置!!"); } }
// Methods public void AddGroup(string groupName) { #region Contracts if (string.IsNullOrEmpty(groupName) == true) { throw new ArgumentNullException(); } #endregion // Require ReflectConfigurationSection existSection = _configuration.GetSection(groupName) as ReflectConfigurationSection; if (existSection != null) { return; } // Variables string[] sectionNameChain = groupName.Split('/'); ConfigurationSectionGroup parentSectionGroup = _configuration.RootSectionGroup; // Add for (int i = 0; i < sectionNameChain.Length; i++) { // SectionGroup if (i < sectionNameChain.Length - 1) { ConfigurationSectionGroup sectionGroup = parentSectionGroup.SectionGroups.Get(sectionNameChain[i]); if (sectionGroup == null) { sectionGroup = new ConfigurationSectionGroup(); parentSectionGroup.SectionGroups.Add(sectionNameChain[i], sectionGroup); } parentSectionGroup = sectionGroup; continue; } // Section if (i >= sectionNameChain.Length - 1) { ConfigurationSection section = parentSectionGroup.Sections.Get(sectionNameChain[i]); if (section == null) { section = new ReflectConfigurationSection(); parentSectionGroup.Sections.Add(sectionNameChain[i], section); } continue; } } // Save _configuration.Save(); }
/// <summary> /// Elimina una seccion de la Configuration / applicationSettings /// </summary> /// <param name="pConfiguration">Configuration App.Config</param> /// <param name="pSectionName">Nombre de la seccion</param> internal static void RemoveSection(Configuration pConfiguration, String pSectionName) { ConfigurationSectionGroup wSectionGroup = pConfiguration.GetSectionGroup("applicationSettings"); ConfigurationSection wSection = wSectionGroup.Sections.Get(pSectionName);//ConfigurationSection wSection = pConfiguration.GetSection("applicationSettings/" + pSectionName); wSection.SectionInformation.ForceSave = true; pConfiguration.GetSectionGroup("applicationSettings").Sections.Remove(pSectionName); pConfiguration.Sections.Remove(pSectionName); }
public void EmptySectionGroup() { using (var temp = new TempConfig(EmptySectionGroupConfiguration)) { var config = ConfigurationManager.OpenExeConfiguration(temp.ExePath); ConfigurationSectionGroup sectionGroup = config.GetSectionGroup("emptySectionGroup"); Assert.NotNull(sectionGroup); Assert.Empty(sectionGroup.Sections); Assert.Empty(sectionGroup.SectionGroups); } }
private ConfigurationSectionGroup IniSectionGroup() { ConfigurationSectionGroup group = config.SectionGroups["ExtentProgram"]; if (group != null) { config.SectionGroups.Remove("ExtentProgram"); } config.SectionGroups.Add("ExtentProgram", new ConfigurationSectionGroup()); return(config.SectionGroups["ExtentProgram"]);; }
public void SimpleSectionGroup() { using (var temp = new TempConfig(SimpleSectionGroupConfiguration)) { var config = ConfigurationManager.OpenExeConfiguration(temp.ExePath); ConfigurationSectionGroup sectionGroup = config.GetSectionGroup("simpleSectionGroup"); Assert.NotNull(sectionGroup); Assert.Equal(1, sectionGroup.Sections.Count); Assert.Equal("fooSection", sectionGroup.Sections[0].SectionInformation.Name); Assert.Equal("System.Configuration.NameValueSectionHandler, System", sectionGroup.Sections[0].SectionInformation.Type); } }
private static void ShowSectionGroupCollectionInfo(ConfigurationSectionGroupCollection sectionGroups) { foreach (String groupName in sectionGroups.Keys) { ConfigurationSectionGroup sectionGroup = (ConfigurationSectionGroup)sectionGroups[groupName]; //ShowSectionGroupInfo(sectionGroup); if (sectionGroup.Name == "system.web") { //ForceDeclaration(sectionGroup, true); } } }
/// <summary> /// Monahrqs the settings. /// </summary> /// <param name="group">The group.</param> /// <returns></returns> public static MonahrqConfigurationSection MonahrqSettings(this ConfigurationSectionGroup group) { if (_monahrqConfigurationSection == null /*|| _reset*/) { lock (_objLock) { _monahrqConfigurationSection = group.Sections.OfType <MonahrqConfigurationSection>().FirstOrDefault(); } //_reset = false; } return(_monahrqConfigurationSection); }
//<Snippet2> static void ShowSectionGroupInfo( ConfigurationSectionGroup sectionGroup) { //<Snippet3> // Get the section group name. indent("Section Group Name: " + sectionGroup.Name); //</Snippet3> //<Snippet11> // Get the fully qualified group name. indent("Section Group Name: " + sectionGroup.SectionGroupName); //</Snippet11> indentLevel++; //<Snippet4> indent("Type: " + sectionGroup.Type); //</Snippet4> //<Snippet5> indent("Is Group Required?: " + sectionGroup.IsDeclarationRequired); //</Snippet5> //<Snippet6> indent("Is Group Declared?: " + sectionGroup.IsDeclared); //</Snippet6> indent("Contained Sections:"); indentLevel++; //<Snippet7> foreach (ConfigurationSection section in sectionGroup.Sections) { indent("Section Name:" + section.SectionInformation.Name); } //</Snippet7> indentLevel--; // Display contained section groups if there are any. if (sectionGroup.SectionGroups.Count > 0) { indent("Contained Section Groups:"); indentLevel++; //<Snippet8> ConfigurationSectionGroupCollection sectionGroups = sectionGroup.SectionGroups; ShowSectionGroupCollectionInfo(sectionGroups); //</Snippet8> } Console.WriteLine(""); indentLevel--; }
/// <summary> /// /// </summary> /// <param name="pConfiguration">Configuration del app.config</param> /// <param name="pSectionName">Seccion</param> /// <param name="pSectionGroupName">Grupo</param> internal static void AddSection(Configuration pConfiguration, String pSectionName, String pSectionGroupName, String pSettingTemplateName) { ConfigurationSectionGroup wConfigurationSectionGroup = null; SettingElement wSettingElement = null; XmlDocument doc = new XmlDocument(); XmlNode xmlValue = doc.CreateNode(XmlNodeType.Element, "value", String.Empty); ConfigurationSectionCollection wSections = null; if (pSectionGroupName.Length == 0) { AddSectionFromAssembly(pConfiguration, pSectionName); return; } else { wConfigurationSectionGroup = pConfiguration.GetSectionGroup(pSectionGroupName); if (wConfigurationSectionGroup == null) { wConfigurationSectionGroup = AddSectionGroup(pConfiguration, pSectionGroupName); } wSections = wConfigurationSectionGroup.Sections; } if (wSections.Get(pSectionName) != null) { return; } ClientSettingsSection wClientSettingsSection = new ClientSettingsSection(); wClientSettingsSection.SectionInformation.RequirePermission = false; wClientSettingsSection.SectionInformation.ForceSave = true; #region Settings Dictionary <String, String> wSettings = TemplateProvider.GetSettingDic(pSettingTemplateName); if (wSettings != null) { foreach (KeyValuePair <string, string> seting in wSettings) { wSettingElement = new SettingElement(); wSettingElement.Name = seting.Key; xmlValue.InnerXml = seting.Value; wSettingElement.Value.ValueXml = xmlValue.Clone(); wClientSettingsSection.Settings.Add(wSettingElement); } } #endregion wSections.Add(pSectionName, wClientSettingsSection); }
public void Add(string name, ConfigurationSectionGroup sectionGroup) {}
public void CopyTo(ConfigurationSectionGroup[] array, int index) {}