Editar

Compartir a través de


ConfigurationElement.LockItem Property

Definition

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

public:
 property bool LockItem { bool get(); void set(bool value); };
public bool LockItem { get; set; }
member this.LockItem : bool with get, set
Public Property LockItem As Boolean

Property Value

true if the element is locked; otherwise, false. The default is false.

Exceptions

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

Examples

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());
    }
}
' 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

Remarks

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

Applies to