static void ReadCustomSection() { try { // Get the application configuration file. System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration( ConfigurationUserLevel.None) as Configuration; // Read and display the custom section. UrlsSection myUrlsSection = config.GetSection("MyUrls") as UrlsSection; if (myUrlsSection == null) { Console.WriteLine("Failed to load UrlsSection."); } else { Console.WriteLine("Collection elements contained in the custom section collection:"); for (int i = 0; i < myUrlsSection.Urls.Count; i++) { Console.WriteLine(" Name={0} URL={1} Port={2}", myUrlsSection.Urls[i].Name, myUrlsSection.Urls[i].Url, myUrlsSection.Urls[i].Port); } } } catch (ConfigurationErrorsException err) { Console.WriteLine("ReadCustomSection(string): {0}", err.ToString()); } }
// Create a custom section and save it in the // application configuration file. static void CreateCustomSection() { try { // Create a custom configuration section. UrlsSection customSection = new UrlsSection(); // Get the current configuration file. System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration( ConfigurationUserLevel.None); // Add the custom section to the application // configuration file. if (config.Sections["CustomSection"] == null) { config.Sections.Add("CustomSection", customSection); } // Save the application configuration file. customSection.SectionInformation.ForceSave = true; config.Save(ConfigurationSaveMode.Modified); Console.WriteLine("Created custom section in the application configuration file: {0}", config.FilePath); Console.WriteLine(); } catch (ConfigurationErrorsException err) { Console.WriteLine("CreateCustomSection: {0}", err.ToString()); } }
// Remove the collection of elements from the custom section. // This function uses the ConfigurationCollectionElement Clear method. static void ClearCollectionElements() { try { // Get the current configuration file. System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration( ConfigurationUserLevel.None); // Get the custom configuration section. UrlsSection myUrlsSection = config.GetSection("MyUrls") as UrlsSection; // Remove the collection of elements from the section. if (config.Sections["MyUrls"] != null) { myUrlsSection.Urls.Clear(); // Save the application configuration file. myUrlsSection.SectionInformation.ForceSave = true; config.Save(ConfigurationSaveMode.Full); Console.WriteLine("Removed collection of elements from he custom section in the configuration file: {0}", config.FilePath); Console.WriteLine(); } else { Console.WriteLine("You must create the custom section first."); } } catch (ConfigurationErrorsException err) { Console.WriteLine("ClearCollectionElements: {0}", err.ToString()); } }
// Create a custom section and save it in the // application configuration file. static void CreateCustomSection() { try { // Get the current configuration file. System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration( ConfigurationUserLevel.None); // Add the custom section to the application // configuration file. UrlsSection myUrlsSection = (UrlsSection)config.Sections["MyUrls"]; if (myUrlsSection == null) { // The configuration file does not contain the // custom section yet. Create it. myUrlsSection = new UrlsSection(); config.Sections.Add("MyUrls", myUrlsSection); // Save the application configuration file. myUrlsSection.SectionInformation.ForceSave = true; config.Save(ConfigurationSaveMode.Modified); } else if (myUrlsSection.Urls.Count == 0) { // The configuration file contains the // custom section but its element collection is empty. // Initialize the collection. UrlConfigElement url = new UrlConfigElement(); myUrlsSection.Urls.Add(url); // Save the application configuration file. myUrlsSection.SectionInformation.ForceSave = true; config.Save(ConfigurationSaveMode.Modified); } Console.WriteLine("Created custom section in the application configuration file: {0}", config.FilePath); Console.WriteLine(); } catch (ConfigurationErrorsException err) { Console.WriteLine("CreateCustomSection: {0}", err.ToString()); } }
public static UrlsSection Urls(this CustomConfiguration config) { lock (_lockObjectUrl) { if (_urlSection == null) { _urlSection = ConfigurationManager.GetSection(UrlsSection.SectionName) as UrlsSection; if (_urlSection == null) { throw new ConfigurationErrorsException(String.Format(ConfigurationMessages.SectionNotFound, UrlsSection.SectionName)); } } } return(_urlSection); }
// Add an element to the custom section collection. // This function uses the ConfigurationCollectionElement Add method. static void AddCollectionElement() { try { // Get the current configuration file. System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration( ConfigurationUserLevel.None); // Get the custom configuration section. UrlsSection myUrlsSection = config.GetSection("MyUrls") as UrlsSection; // Add the element to the collection in the custom section. if (config.Sections["MyUrls"] != null) { UrlConfigElement urlElement = new UrlConfigElement(); urlElement.Name = "Microsoft"; urlElement.Url = "http://www.microsoft.com"; urlElement.Port = 8080; // Use the ConfigurationCollectionElement Add method // to add the new element to the collection. myUrlsSection.Urls.Add(urlElement); // Save the application configuration file. myUrlsSection.SectionInformation.ForceSave = true; config.Save(ConfigurationSaveMode.Modified); Console.WriteLine("Added collection element to the custom section in the configuration file: {0}", config.FilePath); Console.WriteLine(); } else { Console.WriteLine("You must create the custom section first."); } } catch (ConfigurationErrorsException err) { Console.WriteLine("AddCollectionElement: {0}", err.ToString()); } }
static void ReadCustomSection() { try { // Get the application configuration file. System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration( ConfigurationUserLevel.None) as Configuration; // Read and display the custom section. UrlsSection customSection = config.GetSection("CustomSection") as UrlsSection; Console.WriteLine("Reading custom section from the configuration file."); Console.WriteLine("Section name: {0}", customSection.Name); Console.WriteLine("Url: {0}", customSection.Url); Console.WriteLine("Port: {0}", customSection.Port); Console.WriteLine(); } catch (ConfigurationErrorsException err) { Console.WriteLine("ReadCustomSection(string): {0}", err.ToString()); } }