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начиная с указанного индекса целевого массива. |
Методы расширения
| Имя | Описание |
|---|---|
| AsParallel(IEnumerable) |
Включает параллелизацию запроса. |
| AsQueryable(IEnumerable) |
Преобразует IEnumerable в IQueryable. |
| Cast<TResult>(IEnumerable) |
Приведение элементов IEnumerable к указанному типу. |
| OfType<TResult>(IEnumerable) |
Фильтрует элементы IEnumerable на основе указанного типа. |