Dns.EndResolve(IAsyncResult) Méthode

Définition

Attention

EndResolve is obsoleted for this type, please use EndGetHostEntry instead. https://go.microsoft.com/fwlink/?linkid=14202

Attention

EndResolve has been deprecated. Use EndGetHostEntry instead.

Attention

EndResolve is obsoleted for this type, please use EndGetHostEntry instead. http://go.microsoft.com/fwlink/?linkid=14202

Attention

Use EndGetHostEntry instead

Achève une demande asynchrone d'informations DNS.

public:
 static System::Net::IPHostEntry ^ EndResolve(IAsyncResult ^ asyncResult);
[System.Obsolete("EndResolve is obsoleted for this type, please use EndGetHostEntry instead. https://go.microsoft.com/fwlink/?linkid=14202")]
public static System.Net.IPHostEntry EndResolve (IAsyncResult asyncResult);
[System.Obsolete("EndResolve has been deprecated. Use EndGetHostEntry instead.")]
public static System.Net.IPHostEntry EndResolve (IAsyncResult asyncResult);
[System.Obsolete("EndResolve is obsoleted for this type, please use EndGetHostEntry instead. http://go.microsoft.com/fwlink/?linkid=14202")]
public static System.Net.IPHostEntry EndResolve (IAsyncResult asyncResult);
public static System.Net.IPHostEntry EndResolve (IAsyncResult asyncResult);
[System.Obsolete("Use EndGetHostEntry instead")]
public static System.Net.IPHostEntry EndResolve (IAsyncResult asyncResult);
[<System.Obsolete("EndResolve is obsoleted for this type, please use EndGetHostEntry instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
static member EndResolve : IAsyncResult -> System.Net.IPHostEntry
[<System.Obsolete("EndResolve has been deprecated. Use EndGetHostEntry instead.")>]
static member EndResolve : IAsyncResult -> System.Net.IPHostEntry
[<System.Obsolete("EndResolve is obsoleted for this type, please use EndGetHostEntry instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
static member EndResolve : IAsyncResult -> System.Net.IPHostEntry
static member EndResolve : IAsyncResult -> System.Net.IPHostEntry
[<System.Obsolete("Use EndGetHostEntry instead")>]
static member EndResolve : IAsyncResult -> System.Net.IPHostEntry
Public Shared Function EndResolve (asyncResult As IAsyncResult) As IPHostEntry

Paramètres

asyncResult
IAsyncResult

Instance de IAsyncResult qui est retournée par un appel à la méthode BeginResolve(String, AsyncCallback, Object).

Retours

IPHostEntry

Objet IPHostEntry contenant les informations DNS relatives à un hôte.

Attributs

Exceptions

asyncResult a la valeur null.

Exemples

L’exemple suivant met fin à une requête asynchrone pour les informations d’hôte DNS.

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;

   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);
     }
   }
}
Class DnsBeginGetHostByName
    
    Class RequestState
        Public host As IPHostEntry
        
        Public Sub New()
            host = Nothing
        End Sub
    End Class
    
    
    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
    
    
    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

Remarques

Cette méthode bloque jusqu’à ce que l’opération soit terminée.

Si la Ipv6Element.Enabled valeur est définie true, la Aliases propriété de l’instance IPHostEntry retournée n’est pas remplie par cette méthode et sera toujours vide.

Pour effectuer cette opération de façon synchrone, utilisez la Resolve méthode.

Notes

Ce membre émet des informations de suivi lorsque vous activez le suivi réseau dans votre application. Pour plus d’informations, consultez Le suivi réseau dans le .NET Framework.

S’applique à

Voir aussi