ConfigurationElement.LockAllAttributesExcept 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得已鎖定屬性的集合。
public:
property System::Configuration::ConfigurationLockCollection ^ LockAllAttributesExcept { System::Configuration::ConfigurationLockCollection ^ get(); };
public System.Configuration.ConfigurationLockCollection LockAllAttributesExcept { get; }
member this.LockAllAttributesExcept : System.Configuration.ConfigurationLockCollection
Public ReadOnly Property LockAllAttributesExcept As ConfigurationLockCollection
屬性值
此項目的已鎖定屬性 (Attribute) (Property) 的 ConfigurationLockCollection。
範例
下列範例示範如何使用 LockAllAttributesExcept。
// Show how to use LockAllAttributesExcept.
// It locks and unlocks all urls elements
// except the port.
static void LockAllAttributesExcept()
{
try
{
// Get current configuration file.
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(
ConfigurationUserLevel.None);
// Get the MyUrls section.
UrlsSection myUrlsSection =
config.GetSection("MyUrls") as UrlsSection;
if (myUrlsSection == null)
Console.WriteLine(
"Failed to load UrlsSection.");
else
{
IEnumerator elemEnum =
myUrlsSection.Urls.GetEnumerator();
int i = 0;
while (elemEnum.MoveNext())
{
// Get current element.
ConfigurationElement element =
myUrlsSection.Urls[i];
// Get current element lock all attributes.
ConfigurationLockCollection lockAllAttributesExcept =
element.LockAllAttributesExcept;
// Add or remove the lock on all attributes
// except port.
if (lockAllAttributesExcept.Contains("port"))
lockAllAttributesExcept.Remove("port");
else
lockAllAttributesExcept.Add("port");
string lockedAttributes =
lockAllAttributesExcept.AttributeList;
Console.WriteLine(
"Element {0} Locked attributes list: {1}",
i.ToString(), lockedAttributes);
i += 1;
config.Save(ConfigurationSaveMode.Full);
}
}
}
catch (ConfigurationErrorsException e)
{
Console.WriteLine(
"[LockAllAttributesExcept: {0}]",
e.ToString());
}
}
' Show how to use LockAllAttributesExcept.
' It locks and unlocks all urls elements
' except the port.
Shared Sub LockAllAttributesExcept()
Try
' Get the current configuration file.
Dim config _
As System.Configuration.Configuration = _
ConfigurationManager.OpenExeConfiguration( _
ConfigurationUserLevel.None)
' Get the MyUrls section.
Dim myUrlsSection As UrlsSection = _
config.GetSection("MyUrls")
If myUrlsSection Is Nothing Then
Console.WriteLine("Failed to load UrlsSection.")
Else
Dim elemEnum As IEnumerator = _
myUrlsSection.Urls.GetEnumerator()
Dim i As Integer = 0
While elemEnum.MoveNext()
' Get current element.
Dim element _
As ConfigurationElement = _
myUrlsSection.Urls(i)
' Get current element lock all attributes.
Dim lockAllAttributesExcept _
As ConfigurationLockCollection = _
element.LockAllAttributesExcept
' Add or remove the lock on all attributes
' except port.
If lockAllAttributesExcept.Contains("port") Then
lockAllAttributesExcept.Remove("port")
Else
lockAllAttributesExcept.Add("port")
End If
Dim lockedAttributes As String = _
lockAllAttributesExcept.AttributeList()
Console.WriteLine("Element {0} Locked attributes list: {1}", _
i.ToString(), lockedAttributes)
i += 1
config.Save(ConfigurationSaveMode.Full)
End While
End If
Catch e As ConfigurationErrorsException
Console.WriteLine("[LockAllAttributesExcept: {0}]", _
e.ToString())
End Try
End Sub
備註
屬性 LockAllAttributesExcept 可讓您一次鎖定所有屬性,但您指定的屬性除外。 若要這樣做,請使用 Contains 方法,如範例一節所述。
注意
屬性 LockAllAttributesExcept 可讓您防止套用規則之專案的子組態專案遭到修改。 LockItem如果您想要將一般鎖定放在父元素本身及其子元素上,請使用 屬性。
給繼承者的注意事項
如果您同時使用 LockAllAttributesExcept 和 LockAttributes 屬性,則會套用最嚴格的規則。