This documentation is archived and is not being maintained.

ConfigurationElement.LockAllAttributesExcept Property

Note: This property is new in the .NET Framework version 2.0.

Gets the collection of locked attributes.

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

public ConfigurationLockCollection LockAllAttributesExcept { get; 
/** @property */
public ConfigurationLockCollection get_LockAllAttributesExcept ()

public function get LockAllAttributesExcept () : ConfigurationLockCollection

Property Value

The ConfigurationLockCollection collection of locked attributes (properties) for the element.

The LockAllAttributesExcept property allows you to lock all the attributes at once, with the exception of the one you specify. To do that, you use the Contains method, as explained in the next example.

NoteNote

The LockAllAttributesExcept property allows you to prevent the child configuration elements of the element to which you apply the rule from being modified. Use the LockItem property if you want to put a general lock on the parent element itself and its children.

Notes to Implementers Remember, if you use the LockAllAttributesExcept and LockAttributes properties at the same time, the most restrictive rule applies.

The following example shows how to use the LockAllAttributesExcept.

// Show how to use LockAllAttributesExcept.
// It locks and unlocks all urls elements 
// except the port.
static void LockAllAttributesExcept()
{

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

        // Get the MyUrls section.
        UrlsSection myUrlsSection =
            config.GetSection("MyUrls") as UrlsSection;

        if (myUrlsSection == null)
            Console.WriteLine(
                "Failed to load UrlsSection.");
        else
        {

            IEnumerator elemEnum =
                 myUrlsSection.Urls.GetEnumerator();

            int i = 0;
            while (elemEnum.MoveNext())
            {

                // Get current element.
                ConfigurationElement element =
                    myUrlsSection.Urls[i];

                // Get current element lock all attributes.
                ConfigurationLockCollection lockAllAttributesExcept =
                    element.LockAllAttributesExcept;

                // Add or remove the lock on all attributes 
                // except port.
                if (lockAllAttributesExcept.Contains("port"))
                    lockAllAttributesExcept.Remove("port");
                else
                    lockAllAttributesExcept.Add("port");


                string lockedAttributes =
                    lockAllAttributesExcept.AttributeList;

                Console.WriteLine(
                    "Element {0 Locked attributes list: {1",
                    i.ToString(), lockedAttributes);


                i += 1;

                config.Save(ConfigurationSaveMode.Full);

            


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



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

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

.NET Framework

Supported in: 2.0
Show: