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
属性值
该元素被锁定的特性(属性)的 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 属性,则会应用限制性最高的规则。