次の方法で共有


DnsPermission コンストラクタ

無制限の DNS アクセスを許可するか、DNS アクセスを禁止する DnsPermission クラスの新しいインスタンスを作成します。

Public Sub New( _
   ByVal state As PermissionState _)
[C#]
public DnsPermission(
   PermissionStatestate);
[C++]
public: DnsPermission(
   PermissionStatestate);
[JScript]
public function DnsPermission(
   state : PermissionState);

パラメータ

例外

例外の種類 条件
ArgumentException state が有効な PermissionState 値ではありません。

解説

stateUnrestricted の場合、 DnsPermission インスタンスはすべての要求を渡します。 state に他の値が含まれる場合、 DnsPermission インスタンスはすべての要求を失敗させます。

使用例

[Visual Basic, C#, C++] DnsPermission クラスのインスタンスを作成する例を次に示します。

 
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 'useDns

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 'PrintKeysAndValues

[C#] 
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();
}

[C++] 
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(S"Tag, Attributes and Values of 'DnsPermission' instance :");
      Console::WriteLine(S"\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(S"\n\t-KEY-\t-VALUE-");
      while (myEnumerator->MoveNext())
         Console::WriteLine(S"\t {0}:\t {1}", myEnumerator->Key, myEnumerator->Value);
      Console::WriteLine();
   }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, Common Language Infrastructure (CLI) Standard

参照

DnsPermission クラス | DnsPermission メンバ | System.Net 名前空間