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 實例會失敗所有需求。