DnsPermission(PermissionState) 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建 DnsPermission 类的新实例,该类或者允许无限制的 DNS 访问,或者不允许 DNS 访问。
public:
DnsPermission(System::Security::Permissions::PermissionState state);
public DnsPermission (System.Security.Permissions.PermissionState state);
new System.Net.DnsPermission : System.Security.Permissions.PermissionState -> System.Net.DnsPermission
Public Sub New (state As PermissionState)
参数
- state
- PermissionState
PermissionState 值之一。
例外
state
不是有效的 PermissionState 值。
示例
以下示例创建 DnsPermission 类的实例。
public:
void useDns()
{
// Create a DnsPermission instance.
DnsPermission^ permission = gcnew DnsPermission( PermissionState::Unrestricted );
// Check for permission.
permission->Demand();
// Create a SecurityElement Object* to hold XML encoding of the DnsPermission instance.
SecurityElement^ securityElementObj = permission->ToXml();
Console::WriteLine( "Tag, Attributes and Values of 'DnsPermission' instance :" );
Console::WriteLine( "\n\tTag : {0}", securityElementObj->Tag );
// Print the attributes and values.
PrintKeysAndValues( securityElementObj->Attributes );
}
private:
void PrintKeysAndValues( Hashtable^ myList )
{
// Get the enumerator that can iterate through the hash table.
IDictionaryEnumerator^ myEnumerator = myList->GetEnumerator();
Console::WriteLine( "\n\t-KEY-\t-VALUE-" );
while ( myEnumerator->MoveNext() )
{
Console::WriteLine( "\t {0}:\t {1}", myEnumerator->Key, myEnumerator->Value );
}
Console::WriteLine();
}
public void useDns() {
// Create a DnsPermission instance.
DnsPermission permission = new DnsPermission(PermissionState.Unrestricted);
// Check for permission.
permission.Demand();
// Create a SecurityElement object to hold XML encoding of the DnsPermission instance.
SecurityElement securityElementObj = permission.ToXml();
Console.WriteLine("Tag, Attributes and Values of 'DnsPermission' instance :");
Console.WriteLine("\n\tTag :" + securityElementObj.Tag);
// Print the attributes and values.
PrintKeysAndValues(securityElementObj.Attributes);
}
private void PrintKeysAndValues(Hashtable myList) {
// Get the enumerator that can iterate through the hash table.
IDictionaryEnumerator myEnumerator = myList.GetEnumerator();
Console.WriteLine("\n\t-KEY-\t-VALUE-");
while (myEnumerator.MoveNext())
Console.WriteLine("\t{0}:\t{1}", myEnumerator.Key, myEnumerator.Value);
Console.WriteLine();
}
Public Sub useDns()
' Create a DnsPermission instance.
Dim permission As New DnsPermission(PermissionState.Unrestricted)
' Check for permission.
permission.Demand()
' Create a SecurityElement object to hold XML encoding of the DnsPermission instance.
Dim securityElementObj As SecurityElement = permission.ToXml()
Console.WriteLine("Tag, Attributes and Values of 'DnsPermission' instance :")
Console.WriteLine((ControlChars.Cr + ControlChars.Tab + "Tag :" + securityElementObj.Tag))
' Print the attributes and values.
PrintKeysAndValues(securityElementObj.Attributes)
End Sub
Private Sub PrintKeysAndValues(myList As Hashtable)
' Get the enumerator that can iterate through the hash table.
Dim myEnumerator As IDictionaryEnumerator = myList.GetEnumerator()
Console.WriteLine(ControlChars.Cr + ControlChars.Tab + "-KEY-" + ControlChars.Tab + "-VALUE-")
While myEnumerator.MoveNext()
Console.WriteLine(ControlChars.Tab + "{0}:" + ControlChars.Tab + "{1}", myEnumerator.Key, myEnumerator.Value)
End While
Console.WriteLine()
End Sub
注解
如果 state
为 Unrestricted,则 DnsPermission 实例会传递所有要求。 如果 state
包含任何其他值,则 DnsPermission 实例将无法满足所有要求。