SectionInformation.ForceSave Property

Definition

Gets or sets a value that indicates whether the associated configuration section will be saved even if it has not been modified.

C#
public bool ForceSave { get; set; }

Property Value

true if the associated ConfigurationSection object will be saved even if it has not been modified; otherwise, false. The default is false.

Note: If the configuration file is saved (even if there are no modifications), ASP.NET restarts the application1.exe.config.

Examples

The following example shows how to use the ForceSave property of a ConfigurationSection object.

C#
// Create a section whose name is 
// MyUrls that contains a nested collection as 
// defined by the UrlsSection class.
static void CreateSection()
{
    string sectionName = "MyUrls";

    try
    {

        // Get the current configuration file.
        System.Configuration.Configuration config =
                ConfigurationManager.OpenExeConfiguration(
                ConfigurationUserLevel.None);

        UrlsSection urlsSection;

        // Create the section whose name attribute 
        // is MyUrls in <configSections>.
        // Also, create the related target section 
        // MyUrls in <configuration>.
        if (config.Sections[sectionName] == null)
        {
            urlsSection = new UrlsSection();

            // Change the default values of 
            // the simple element.
            urlsSection.Simple.Name = "Contoso";
            urlsSection.Simple.Url = "http://www.contoso.com";
            urlsSection.Simple.Port = 8080;

            config.Sections.Add(sectionName, urlsSection);
            urlsSection.SectionInformation.ForceSave = true;
            config.Save(ConfigurationSaveMode.Full);
        }
    }
    catch (ConfigurationErrorsException e)
    {
        Console.WriteLine("[CreateSection: {0}]",
            e.ToString());
    }
}

Applies to

Product Versions
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10