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. |