Поделиться через


ConfigurationElement.LockAllAttributesExcept Свойство

Определение

Возвращает коллекцию заблокированных атрибутов.

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

Значение свойства

Коллекция ConfigurationLockCollection заблокированных атрибутов (свойств) элемента.

Примеры

В следующем примере показано, как использовать 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 позволяет заблокировать все атрибуты одновременно, за исключением указанного атрибута. Для этого используйте Contains метод , как описано в разделе Пример.

Примечание

Свойство LockAllAttributesExcept позволяет предотвратить изменение дочерних элементов конфигурации элемента, к которому применяется правило. Используйте свойство , LockItem если вы хотите установить общую блокировку самого родительского элемента и его дочерних элементов.

Примечания для тех, кто наследует этот метод

При одновременном LockAllAttributesExcept использовании свойств и LockAttributes применяется самое строгое правило.

Применяется к

См. также раздел