DnsPermission Constructor (PermissionState)

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Creates a new instance of the DnsPermission class that either allows unrestricted DNS access or disallows DNS access.

Namespace:   System.Net
Assembly:  System (in System.dll)

public:
DnsPermission(
	PermissionState state
)

Parameters

state
Type: System.Security.Permissions::PermissionState

One of the PermissionState values.

Exception Condition
ArgumentException

state is not a valid PermissionState value.

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

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();
   }

.NET Framework
Available since 1.1
Return to top
Show: