DnsPermission(PermissionState) Constructor
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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.