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


ConfigurationLockCollection Класс

Определение

Содержит коллекцию заблокированных объектов конфигурации. Этот класс не наследуется.

public ref class ConfigurationLockCollection sealed : System::Collections::ICollection
public sealed class ConfigurationLockCollection : System.Collections.ICollection
type ConfigurationLockCollection = class
    interface ICollection
    interface IEnumerable
type ConfigurationLockCollection = class
    interface IEnumerable
    interface ICollection
Public NotInheritable Class ConfigurationLockCollection
Implements ICollection
Наследование
ConfigurationLockCollection
Реализации

Примеры

В следующем примере кода показано, как использовать ConfigurationLockCollection тип .

#region Using directives

using System;
using System.Configuration;
using System.Web.Configuration;
using System.Collections;
using System.Text;

#endregion

namespace Samples.Aspnet.SystemWebConfiguration
{
  class UsingConfigurationLockCollection
  {
    static void Main(string[] args)
    {
      try
      {
        // Set the path of the config file.
        string configPath = "";

        // Get the Web application configuration object.
        Configuration config =
          WebConfigurationManager.OpenWebConfiguration(configPath);

        // Get the section related object.
        AnonymousIdentificationSection configSection =
          (AnonymousIdentificationSection)config.GetSection
          ("system.web/anonymousIdentification");

        // Display title and info.
        Console.WriteLine("Configuration Info");
        Console.WriteLine();

        // Display Config details.
        Console.WriteLine("File Path: {0}",
          config.FilePath);
        Console.WriteLine("Section Path: {0}",
          configSection.SectionInformation.Name);
        Console.WriteLine();

        // Create a ConfigurationLockCollection object.
        ConfigurationLockCollection lockedAttribList;
        lockedAttribList = configSection.LockAttributes;

        // Add an attribute to the lock collection.
        if (!lockedAttribList.Contains("enabled"))
        {
          lockedAttribList.Add("enabled");
        }
        if (!lockedAttribList.Contains("cookieless"))
        {
          lockedAttribList.Add("cookieless");
        }

        // Count property.
        Console.WriteLine("Collection Count: {0}",
         lockedAttribList.Count);

        // AttributeList method.
        Console.WriteLine("AttributeList: {0}",
         lockedAttribList.AttributeList);

        // Contains method.
        Console.WriteLine("Contains 'enabled': {0}",
         lockedAttribList.Contains("enabled"));

        // HasParentElements property.
        Console.WriteLine("HasParentElements: {0}",
         lockedAttribList.HasParentElements);

        // IsModified property.
        Console.WriteLine("IsModified: {0}",
         lockedAttribList.IsModified);

        // IsReadOnly method. 
        Console.WriteLine("IsReadOnly: {0}",
         lockedAttribList.IsReadOnly("enabled"));

        // Remove a configuration object 
        // from the collection.
        lockedAttribList.Remove("cookieless");

        // Clear the collection.
        lockedAttribList.Clear();

        // Create an ArrayList to contain
        // the property items of the configuration
        // section.
        ArrayList configPropertyAL = new ArrayList(lockedAttribList.Count);
        foreach (PropertyInformation propertyItem in
          configSection.ElementInformation.Properties)
        {
          configPropertyAL.Add(propertyItem.Name.ToString());
        }
        // Copy the elements of the ArrayList to a string array.
        String[] myArr = (String[])configPropertyAL.ToArray(typeof(string));
        // Create as a comma delimited list.
        string propList = string.Join(",", myArr);
        // Lock the items in the list.
        lockedAttribList.SetFromList(propList);
      }

      catch (Exception e)
      {
        // Unknown error.
        Console.WriteLine(e.ToString());
      }

      // Display and wait.
      Console.ReadLine();
    }
  }
}
Imports System.Configuration
Imports System.Web.Configuration
Imports System.Collections
Imports System.Text

Namespace Samples.Aspnet.SystemWebConfiguration
  Class UsingConfigurationLockCollection
    Public Shared Sub Main()
      Try
        ' Set the path of the config file.
        Dim configPath As String = ""

        ' Get the Web application configuration object.
        Dim config As System.Configuration.Configuration = _
         WebConfigurationManager.OpenWebConfiguration(configPath)

        ' Get the section related object.
        Dim configSection As _
        AnonymousIdentificationSection = _
         CType(config.GetSection("system.web/anonymousIdentification"), _
         AnonymousIdentificationSection)

        ' Display title and info.
        Console.WriteLine("Configuration Info")
        Console.WriteLine()

        ' Display Config details.
        Console.WriteLine("File Path: {0}", _
          config.FilePath)
        Console.WriteLine("Section Path: {0}", _
          configSection.SectionInformation.Name)
        Console.WriteLine()

        ' Create a ConfigurationLockCollection object.
        Dim lockedAttribList As ConfigurationLockCollection
        lockedAttribList = configSection.LockAttributes

        ' Add an attribute to the lock collection.
        If Not (lockedAttribList.Contains("enabled")) Then
          lockedAttribList.Add("enabled")
        End If
        If Not (lockedAttribList.Contains("cookieless")) Then
          lockedAttribList.Add("cookieless")
        End If

        ' Count property.
        Console.WriteLine("Collection Count: {0}", _
         lockedAttribList.Count)

        ' AttributeList method.
        Console.WriteLine("AttributeList: {0}", _
         lockedAttribList.AttributeList)

        ' Contains method.
        Console.WriteLine("Contains 'enabled': {0}", _
         lockedAttribList.Contains("enabled"))

        ' HasParentElements property.
        Console.WriteLine("HasParentElements: {0}", _
         lockedAttribList.HasParentElements)

        ' IsModified property.
        Console.WriteLine("IsModified: {0}", _
         lockedAttribList.IsModified)

        ' IsReadOnly method. 
        Console.WriteLine("IsReadOnly: {0}", _
         lockedAttribList.IsReadOnly("enabled"))

        ' Remove a configuration object 
        ' from the collection.
        lockedAttribList.Remove("cookieless")

        ' Clear the collection.
        lockedAttribList.Clear()

        ' Create an ArrayList to contain
        ' the property items of the configuration
        ' section.
        Dim configPropertyAL As ArrayList = _
         New ArrayList(lockedAttribList.Count)
        For Each propertyItem As _
         PropertyInformation In _
         configSection.ElementInformation.Properties
          configPropertyAL.Add(propertyItem.Name.ToString())
        Next
        ' Copy the elements of the ArrayList to a string array.
        Dim myArr As [String]() = _
        CType(configPropertyAL.ToArray(GetType(String)), [String]())
        ' Create as a comma delimited list.
        Dim propList As String = String.Join(",", myArr)
        ' Lock the items in the list.
        lockedAttribList.SetFromList(propList)

      Catch e As Exception
        ' Validation failed.
        Console.WriteLine("Error: {0}", _
          e.Message.ToString())
      End Try

      ' Display and wait.
      Console.ReadLine()
    End Sub
  End Class
End Namespace

Комментарии

В файле конфигурации раздел конфигурации содержит как атрибуты, так и элементы. Для ConfigurationLockCollection заблокированных атрибутов раздела конфигурации существует коллекция, доступ к ней осуществляется через LockAttributes свойство ConfigurationElement класса . Для заблокированных элементов раздела конфигурации существует другая ConfigurationLockCollection коллекция, доступ к ней осуществляется через LockElements свойство ConfigurationElement класса .

Свойства

AttributeList

Получает список объектов конфигурации, содержащихся в коллекции.

Count

Получает число заблокированных объектов конфигурации, содержащихся в коллекции.

HasParentElements

Получает значение, указывающее, содержит ли коллекция заблокированных объектов родительские элементы.

IsModified

Получает значение, указывающее, была ли коллекция изменена.

IsSynchronized

Получает значение, указывающее, синхронизирована ли коллекция.

SyncRoot

Получает объект, используемый для синхронизации доступа к указанной коллекции ConfigurationLockCollection.

Методы

Add(String)

Блокирует объект конфигурации, добавляя его в коллекцию.

Clear()

Удаляет все объекты конфигурации из коллекции.

Contains(String)

Проверяет, заблокирован ли указанный объект конфигурации.

CopyTo(String[], Int32)

Копирует всю коллекцию ConfigurationLockCollection в совместимый одномерный массив Array, начиная с указанного индекса конечного массива.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetEnumerator()

Получает IEnumerator объект, который используется для просмотра этой коллекции ConfigurationLockCollection.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
IsReadOnly(String)

Проверяет, является ли указанный объект конфигурации доступным только для чтения.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
Remove(String)

Удаляет объект конфигурации из коллекции.

SetFromList(String)

Блокирует набор объектов конфигурации согласно представленному списку.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

ICollection.CopyTo(Array, Int32)

Копирует всю коллекцию ConfigurationLockCollection в совместимый одномерный массив Array, начиная с указанного индекса конечного массива.

Методы расширения

Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.

OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.

AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.

AsQueryable(IEnumerable)

Преобразовывает коллекцию IEnumerable в объект IQueryable.

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

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