Export (0) Print
Expand All

ConfigurationElement.LockItem Property

Gets or sets a value indicating whether the element is locked.

Namespace:  System.Configuration
Assembly:  System.Configuration (in System.Configuration.dll)

public bool LockItem { get; set; }

Property Value

Type: System.Boolean
true if the element is locked; otherwise, false. The default is false.

ExceptionCondition
ConfigurationErrorsException

The element has already been locked at a higher configuration level.

Use the LockItem property if you want to put a general lock on the element itself and its child elements.

The following example shows how to use the LockItem.

// Show how to set LockItem 
// It adds a new UrlConfigElement to  
// the collection. 
static void LockItem()
{
    string name = "Contoso";
    string url = "http://www.contoso.com/";
    int port = 8080;

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

        // Get the MyUrls section.
        UrlsSection myUrls =
           config.Sections["MyUrls"] as UrlsSection;


        // Create the new  element.
        UrlConfigElement newElement =
            new UrlConfigElement(name, url, port);

        // Set its lock.
        newElement.LockItem = true;

        // Save the new element to the  
        // configuration file. 
        if (!myUrls.ElementInformation.IsLocked)
        {

            myUrls.Urls.Add(newElement);

            config.Save(ConfigurationSaveMode.Full);

            // This is used to obsolete the cached  
            // section and read the updated  
            // bersion from the configuration file.
            ConfigurationManager.RefreshSection("MyUrls");
        }
        else
            Console.WriteLine(
                "Section was locked, could not update.");

    }
    catch (ConfigurationErrorsException e)
    {
        Console.WriteLine("[LockItem: {0}]",
            e.ToString());
    }

}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Show:
© 2015 Microsoft