ConfigurationLockCollection 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
包含鎖定的組態物件的集合。 此類別無法獲得繼承。
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。 |