.NET Framework Class Library
ConfigurationElement..::.LockItem Property

Updated: November 2007

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

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

Visual Basic (Declaration)
Public Property LockItem As Boolean
Visual Basic (Usage)
Dim instance As ConfigurationElement
Dim value As Boolean

value = instance.LockItem

instance.LockItem = value
C#
public bool LockItem { get; set; }
Visual C++
public:
property bool LockItem {
    bool get ();
    void set (bool value);
}
J#
/** @property */
public boolean get_LockItem()
/** @property */
public  void set_LockItem(boolean value)
JScript
public function get LockItem () : boolean
public function set LockItem (value : boolean)

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.

Visual Basic
' Show how to set LockItem
' It adds a new UrlConfigElement to 
' the collection.
Shared Sub LockItem() 
    Dim name As String = "Contoso"
    Dim url As String = "http://www.contoso.com/"
    Dim port As Integer = 8080

    Try
        ' Get the current configuration file.
        Dim config _
        As System.Configuration.Configuration = _
        ConfigurationManager.OpenExeConfiguration( _
        ConfigurationUserLevel.None)

        ' Get the MyUrls section.
        Dim myUrls As UrlsSection = _
        config.Sections("MyUrls")


        ' Create the new  element.
        Dim newElement _
        As New UrlConfigElement(name, url, port)

        ' Set its lock.
        newElement.LockItem = True

        ' Save the new element to the 
        ' configuration file.
        If Not myUrls.ElementInformation.IsLocked Then

            myUrls.Urls.Add(newElement)

            config.Save(ConfigurationSaveMode.Full)

            ' This is used to obsolete the cached 
            ' section and read the updared version 
            ' from the configuration file.
            ConfigurationManager.RefreshSection("MyUrls")
        Else
            Console.WriteLine("Section was locked, could not update.")
        End If

    Catch e As ConfigurationErrorsException
        Console.WriteLine("[LockItem: {0}]", _
        e.ToString())
    End Try

End Sub 'LockItem


C#
// 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());
    }

}

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0
Page view tracker