DnsPermission(PermissionState) Constructor

Definition

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)

Parameters

state
PermissionState

One of the PermissionState values.

Exceptions

state is not a valid PermissionState value.

Examples

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

Remarks

If state is Unrestricted, the DnsPermission instance passes all demands. If state contains any other value, the DnsPermission instance fails all demands.

Applies to