DnsPermission(PermissionState) 构造函数

定义

创建 DnsPermission 类的新实例,该类或者允许无限制的 DNS 访问,或者不允许 DNS 访问。Creates a new instance of the DnsPermission class that either allows unrestricted DNS access or disallows DNS access.

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 值之一。One of the PermissionState values.

例外

state 不是有效的 PermissionState 值。state is not a valid PermissionState value.

示例

以下示例创建 DnsPermission 类的实例。The following example creates an instance of the DnsPermission class.

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

注解

如果 stateUnrestricted ,则 DnsPermission 实例将传递所有需求。If state is Unrestricted, the DnsPermission instance passes all demands. 如果 state 包含任何其他值,则 DnsPermission 实例将无法满足所有需求。If state contains any other value, the DnsPermission instance fails all demands.

适用于