Freigeben über


Dns.EndResolve-Methode

HINWEIS: Diese Methode ist mittlerweile veraltet.

Beendet eine asynchrone Anforderung für DNS-Informationen.

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

Syntax

'Declaration
<ObsoleteAttribute("EndResolve is obsoleted for this type, please use EndGetHostEntry instead. https://go.microsoft.com/fwlink/?linkid=14202")> _
Public Shared Function EndResolve ( _
    asyncResult As IAsyncResult _
) As IPHostEntry
'Usage
Dim asyncResult As IAsyncResult
Dim returnValue As IPHostEntry

returnValue = Dns.EndResolve(asyncResult)
[ObsoleteAttribute("EndResolve is obsoleted for this type, please use EndGetHostEntry instead. https://go.microsoft.com/fwlink/?linkid=14202")] 
public static IPHostEntry EndResolve (
    IAsyncResult asyncResult
)
[ObsoleteAttribute(L"EndResolve is obsoleted for this type, please use EndGetHostEntry instead. https://go.microsoft.com/fwlink/?linkid=14202")] 
public:
static IPHostEntry^ EndResolve (
    IAsyncResult^ asyncResult
)
/** @attribute ObsoleteAttribute("EndResolve is obsoleted for this type, please use EndGetHostEntry instead. https://go.microsoft.com/fwlink/?linkid=14202") */ 
public static IPHostEntry EndResolve (
    IAsyncResult asyncResult
)
ObsoleteAttribute("EndResolve is obsoleted for this type, please use EndGetHostEntry instead. https://go.microsoft.com/fwlink/?linkid=14202") 
public static function EndResolve (
    asyncResult : IAsyncResult
) : IPHostEntry

Parameter

Rückgabewert

Ein IPHostEntry-Objekt mit DNS-Informationen zu einem Host.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentNullException

asyncResult ist NULL (Nothing in Visual Basic).

Hinweise

Diese Methode wird blockiert, bis der Vorgang abgeschlossen ist.

Verwenden Sie die Resolve-Methode, um diesen Vorgang synchron auszuführen.

Hinweis

Dieser Member gibt Ablaufverfolgungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in der Anwendung aktivieren. Weitere Informationen finden Sie unter Netzwerkablaufverfolgung.

Beispiel

Im folgenden Beispiel wird eine asynchrone Anforderung von DNS-Hostinformationen beendet.

Class DnsBeginGetHostByName
    
    Class RequestState
        Public host As IPHostEntry
        
        Public Sub New()
            host = Nothing
        End Sub 'New
    End Class 'RequestState
    
    
    Public Shared Sub Main()
     Try
        ' Create an instance of the RequestState class.
        Dim myRequestState As New RequestState()
        
        ' Begin an asynchronous request for information such as the host name, IP addresses, 
        ' or aliases for the specified URI.
        Dim asyncResult As IAsyncResult = CType(Dns.BeginResolve("www.contoso.com", AddressOf RespCallback, myRequestState),IAsyncResult)

        ' Wait until asynchronous call completes.
        While asyncResult.IsCompleted <> True
        End While
        
        Console.WriteLine(("Host name : " + myRequestState.host.HostName))
        Console.WriteLine(ControlChars.Cr + "IP address list : ")
        Dim index As Integer
        For index = 0 To myRequestState.host.AddressList.Length - 1
            Console.WriteLine(myRequestState.host.AddressList(index))
        Next index
        Console.WriteLine(ControlChars.Cr + "Aliases : ")

        For index = 0 To myRequestState.host.Aliases.Length - 1
            Console.WriteLine(myRequestState.host.Aliases(index))
        Next index
    catch e as Exception
            Console.WriteLine("Exception caught!!!")
            Console.WriteLine(("Source : " + e.Source))
            Console.WriteLine(("Message : " + e.Message))
    End Try
    End Sub 'Main
    
    
    Private Shared Sub RespCallback(ar As IAsyncResult)
        Try
            ' Convert the IAsyncResult object to a RequestState object.
            Dim tempRequestState As RequestState = CType(ar.AsyncState, RequestState)

            ' End the asynchronous request.
            tempRequestState.host = Dns.EndResolve(ar)
            Catch e As ArgumentNullException
            Console.WriteLine("ArgumentNullException caught!!!")
            Console.WriteLine(("Source : " + e.Source))
            Console.WriteLine(("Message : " + e.Message))
            Catch e As Exception
            Console.WriteLine("Exception caught!!!")
            Console.WriteLine(("Source : " + e.Source))
            Console.WriteLine(("Message : " + e.Message))
        End Try
    End Sub 'RespCallback
class DnsBeginGetHostByName
{   
   public static System.Threading.ManualResetEvent allDone = null;

   class RequestState
   {
      public IPHostEntry host;
      public RequestState()
      {
         host = null;
      }
   }

   public static void Main()
   {
     allDone = new ManualResetEvent(false);
     // Create an instance of the RequestState class.
     RequestState myRequestState = new RequestState();

     // Begin an asynchronous request for information like host name, IP addresses, or 
     // aliases for specified the specified URI.
     IAsyncResult asyncResult = Dns.BeginResolve("www.contoso.com", new AsyncCallback(RespCallback), myRequestState );

     // Wait until asynchronous call completes.
     allDone.WaitOne();
     Console.WriteLine("Host name : " + myRequestState.host.HostName);
     Console.WriteLine("\nIP address list : ");
     for(int index=0; index < myRequestState.host.AddressList.Length; index++)
     {
       Console.WriteLine(myRequestState.host.AddressList[index]);
     }      
     Console.WriteLine("\nAliases : ");
     for(int index=0; index < myRequestState.host.Aliases.Length; index++)
     {
       Console.WriteLine(myRequestState.host.Aliases[index]);
     }      
   }
   
   private static void RespCallback(IAsyncResult ar)
   {
     try 
     {
       // Convert the IAsyncResult object to a RequestState object.
       RequestState tempRequestState = (RequestState)ar.AsyncState;
       // End the asynchronous request.
       tempRequestState.host = Dns.EndResolve(ar);
       allDone.Set();
     }
       catch(ArgumentNullException e) 
     {
       Console.WriteLine("ArgumentNullException caught!!!");
       Console.WriteLine("Source : " + e.Source);
       Console.WriteLine("Message : " + e.Message);
     }   
     catch(Exception e)
     {
       Console.WriteLine("Exception caught!!!");
       Console.WriteLine("Source : " + e.Source);
       Console.WriteLine("Message : " + e.Message);
     }
   }
}
public ref class DnsBeginGetHostByName
{
public:
   static System::Threading::ManualResetEvent^ allDone = nullptr;
   ref class RequestState
   {
   public:
      IPHostEntry^ host;
      RequestState()
      {
         host = nullptr;
      }
   };

   static void RespCallback( IAsyncResult^ ar )
   {
      try
      {
         // Convert the IAsyncResult* Object* to a RequestState Object*.
         RequestState^ tempRequestState = dynamic_cast<RequestState^>(ar->AsyncState);
         
         // End the asynchronous request.
         tempRequestState->host = Dns::EndResolve( ar );
         allDone->Set();
      }
      catch ( ArgumentNullException^ e ) 
      {
         Console::WriteLine( "ArgumentNullException caught!!!" );
         Console::WriteLine( "Source : {0}", e->Source );
         Console::WriteLine( "Message : {0}", e->Message );
      }
      catch ( Exception^ e ) 
      {
         Console::WriteLine( "Exception caught!!!" );
         Console::WriteLine( "Source : {0}", e->Source );
         Console::WriteLine( "Message : {0}", e->Message );
      }
   }
};

int main()
{
   DnsBeginGetHostByName::allDone = gcnew ManualResetEvent( false );
   
   // Create an instance of the RequestState class.
   DnsBeginGetHostByName::RequestState^ myRequestState =
      gcnew DnsBeginGetHostByName::RequestState;
   
   // Begin an asynchronous request for information like host name, IP addresses, or
   // aliases for specified the specified URI.
   IAsyncResult^ asyncResult = Dns::BeginResolve( "www.contoso.com",
      gcnew AsyncCallback( DnsBeginGetHostByName::RespCallback ), myRequestState );
   
   // Wait until asynchronous call completes.
   DnsBeginGetHostByName::allDone->WaitOne();
   Console::WriteLine( "Host name : {0}", myRequestState->host->HostName );
   Console::WriteLine( "\nIP address list : " );
   for ( int index = 0; index < myRequestState->host->AddressList->Length; index++ )
      Console::WriteLine( myRequestState->host->AddressList[ index ] );
   Console::WriteLine( "\nAliases : " );
   for ( int index = 0; index < myRequestState->host->Aliases->Length; index++ )
      Console::WriteLine( myRequestState->host->Aliases[ index ] );
}
class DnsBeginGetHostByName
{
    public static System.Threading.ManualResetEvent allDone = null;

    static class RequestState
    {
        public IPHostEntry host;

        public RequestState()
        {
            host = null;
        } //RequestState
    } //RequestState

    public static void main(String[] args)
    {
        allDone = new ManualResetEvent(false);        
        
        // Create an instance of the RequestState class.
        RequestState myRequestState = new DnsBeginGetHostByName.
            RequestState();

        // Begin an asynchronous request for information like 
        // host name, IP addresses, or 
        // aliases for specified the specified URI.
        IAsyncResult asyncResult = Dns.BeginResolve("www.contoso.com", 
            new AsyncCallback(RespCallback), myRequestState);

        // Wait until asynchronous call completes.
        allDone.WaitOne();
        Console.WriteLine("Host name : " + myRequestState.host.get_HostName());
        Console.WriteLine("\nIP address list : ");
        for (int index = 0; index < myRequestState.host.
            get_AddressList().length; index++) {
            Console.WriteLine(myRequestState.host.get_AddressList().
                get_Item(index));
        }
        Console.WriteLine("\nAliases : ");
        for (int index = 0; index < myRequestState.host.get_Aliases().
            length; index++) {
            Console.WriteLine(myRequestState.host.get_Aliases().
                get_Item(index));
        }
    } //main

    private static void RespCallback(IAsyncResult ar)
    {
        try {
            // Convert the IAsyncResult object to a RequestState object.
            RequestState tempRequestState = (RequestState)ar.get_AsyncState();

            // End the asynchronous request.
            tempRequestState.host = Dns.EndResolve(ar);
            allDone.Set();
        }
        catch (ArgumentNullException e) {
            Console.WriteLine("ArgumentNullException caught!!!");
            Console.WriteLine("Source : " + e.get_Source());
            Console.WriteLine("Message : " + e.get_Message());
        }
        catch (System.Exception e) {
            Console.WriteLine("Exception caught!!!");
            Console.WriteLine("Source : " + e.get_Source());
            Console.WriteLine("Message : " + e.get_Message());
        }
    } //RespCallback
} //DnsBeginGetHostByName

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 1.0, 1.1
Veraltet (Compilerwarnung) in 2.0

.NET Compact Framework

Unterstützt in: 1.0
Veraltet (Compilerwarnung) in 2.0

Siehe auch

Referenz

Dns-Klasse
Dns-Member
System.Net-Namespace

Weitere Ressourcen

Asynchronous Calls