다음을 통해 공유


Dns.EndResolve(IAsyncResult) 메서드

정의

주의

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

주의

EndResolve has been deprecated. Use EndGetHostEntry instead.

주의

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

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("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
Public Shared Function EndResolve (asyncResult As IAsyncResult) As IPHostEntry

매개 변수

asyncResult
IAsyncResult

IAsyncResult 메서드를 호출했을 때 반환되는 BeginResolve(String, AsyncCallback, Object) 인스턴스입니다.

반환

호스트에 대한 DNS 정보가 포함된 IPHostEntry 개체입니다.

특성

예외

asyncResult이(가) null인 경우

예제

다음 예제에서는 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

설명

이 메서드는 작업이 완료될 때까지 차단합니다.

Ipv6Element.EnabledtrueAliases 설정된 경우 반환된 인스턴스의 IPHostEntry 속성이 이 메서드에 의해 채워지지 않으며 항상 비어 있습니다.

이 작업을 동기적으로 수행하려면 메서드를 Resolve 사용합니다.

참고

이 멤버는 애플리케이션에서 네트워크 추적을 사용 하도록 설정 하면 추적 정보를 내보냅니다. 자세한 내용은 .NET Framework의 네트워크 추적을 참조하세요.

적용 대상

추가 정보