ConfigurationElement.LockAllAttributesExcept ConfigurationElement.LockAllAttributesExcept ConfigurationElement.LockAllAttributesExcept ConfigurationElement.LockAllAttributesExcept Property

定义

获取被锁定的特性的集合。Gets the collection of locked attributes.

public:
 property System::Configuration::ConfigurationLockCollection ^ LockAllAttributesExcept { System::Configuration::ConfigurationLockCollection ^ get(); };
public System.Configuration.ConfigurationLockCollection LockAllAttributesExcept { get; }
member this.LockAllAttributesExcept : System.Configuration.ConfigurationLockCollection
Public ReadOnly Property LockAllAttributesExcept As ConfigurationLockCollection

属性值

示例

下面的示例演示如何使用LockAllAttributesExceptThe 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());
    }

}
' Show how to use LockAllAttributesExcept.
' It locks and unlocks all urls elements 
' except the port.
Shared Sub LockAllAttributesExcept()

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

        ' Get the MyUrls section.
        Dim myUrlsSection As UrlsSection = _
        config.GetSection("MyUrls")

        If myUrlsSection Is Nothing Then
            Console.WriteLine("Failed to load UrlsSection.")
        Else

            Dim elemEnum As IEnumerator = _
            myUrlsSection.Urls.GetEnumerator()

            Dim i As Integer = 0
            While elemEnum.MoveNext()

                ' Get current element.
                Dim element _
                As ConfigurationElement = _
                myUrlsSection.Urls(i)

                ' Get current element lock all attributes.
                Dim lockAllAttributesExcept _
                As ConfigurationLockCollection = _
                element.LockAllAttributesExcept

                ' Add or remove the lock on all attributes 
                ' except port.
                If lockAllAttributesExcept.Contains("port") Then
                    lockAllAttributesExcept.Remove("port")
                Else
                    lockAllAttributesExcept.Add("port")
                End If

                Dim lockedAttributes As String = _
                lockAllAttributesExcept.AttributeList()

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

                i += 1

                config.Save(ConfigurationSaveMode.Full)
            End While
        End If


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

End Sub 'LockAllAttributesExcept

注解

LockAllAttributesExcept属性使您可以同时锁定所有属性,指定一个除外。The LockAllAttributesExcept property allows you to lock all the attributes at once, with the exception of the one you specify. 若要执行此操作,应使用Contains方法,如示例部分中所述。To do that, you use the Contains method, as explained in the Example section.

备注

LockAllAttributesExcept属性,可防止子元素向其应用此规则从正在修改的配置元素。The LockAllAttributesExcept property allows you to prevent the child configuration elements of the element to which you apply the rule from being modified. 使用LockItem本身和及其子元素,如果你想要设置常规属性锁定父元素上。Use the LockItem property if you want to put a general lock on the parent element itself and its child elements.

继承者说明

如果您使用LockAllAttributesExceptLockAttributes属性相同时,限制性最强的规则适用。If you use the LockAllAttributesExcept and LockAttributes properties at the same time, the most restrictive rule applies.

适用于

另请参阅