ConfigurationLockCollection 类  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
包含锁定的配置对象的集合。 此类不能被继承。
public ref class ConfigurationLockCollection sealed : System::Collections::ICollectionpublic sealed class ConfigurationLockCollection : System.Collections.ICollectiontype ConfigurationLockCollection = class
    interface ICollection
    interface IEnumerabletype ConfigurationLockCollection = class
    interface IEnumerable
    interface ICollectionPublic 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。 |