Aracılığıyla paylaş


Dns.BeginResolve(String, AsyncCallback, Object) Yöntem

Tanım

Dikkat

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

Dikkat

BeginResolve has been deprecated. Use BeginGetHostEntry instead.

Dikkat

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

Dns ana bilgisayar adını veya IP adresini bir örneğe çözümlemek için zaman uyumsuz bir IPAddress istek başlatır.

public:
 static IAsyncResult ^ BeginResolve(System::String ^ hostName, AsyncCallback ^ requestCallback, System::Object ^ stateObject);
[System.Obsolete("BeginResolve is obsoleted for this type, please use BeginGetHostEntry instead. https://go.microsoft.com/fwlink/?linkid=14202")]
public static IAsyncResult BeginResolve (string hostName, AsyncCallback? requestCallback, object? stateObject);
[System.Obsolete("BeginResolve has been deprecated. Use BeginGetHostEntry instead.")]
public static IAsyncResult BeginResolve (string hostName, AsyncCallback? requestCallback, object? stateObject);
[System.Obsolete("BeginResolve is obsoleted for this type, please use BeginGetHostEntry instead. http://go.microsoft.com/fwlink/?linkid=14202")]
public static IAsyncResult BeginResolve (string hostName, AsyncCallback requestCallback, object stateObject);
[System.Obsolete("BeginResolve is obsoleted for this type, please use BeginGetHostEntry instead. https://go.microsoft.com/fwlink/?linkid=14202")]
public static IAsyncResult BeginResolve (string hostName, AsyncCallback requestCallback, object stateObject);
public static IAsyncResult BeginResolve (string hostName, AsyncCallback requestCallback, object stateObject);
[<System.Obsolete("BeginResolve is obsoleted for this type, please use BeginGetHostEntry instead. https://go.microsoft.com/fwlink/?linkid=14202")>]
static member BeginResolve : string * AsyncCallback * obj -> IAsyncResult
[<System.Obsolete("BeginResolve has been deprecated. Use BeginGetHostEntry instead.")>]
static member BeginResolve : string * AsyncCallback * obj -> IAsyncResult
[<System.Obsolete("BeginResolve is obsoleted for this type, please use BeginGetHostEntry instead. http://go.microsoft.com/fwlink/?linkid=14202")>]
static member BeginResolve : string * AsyncCallback * obj -> IAsyncResult
static member BeginResolve : string * AsyncCallback * obj -> IAsyncResult
Public Shared Function BeginResolve (hostName As String, requestCallback As AsyncCallback, stateObject As Object) As IAsyncResult

Parametreler

hostName
String

Konağın DNS adı.

requestCallback
AsyncCallback

AsyncCallback İşlem tamamlandığında çağırma yöntemine başvuran bir temsilci.

stateObject
Object

İşlem hakkında bilgi içeren kullanıcı tanımlı bir nesne. İşlem tamamlandığında bu nesne temsilciye requestCallback geçirilir.

Döndürülenler

IAsyncResult Zaman uyumsuz isteğe başvuran bir örnek.

Öznitelikler

Özel durumlar

hostName, null değeridir.

Çağıranın DNS bilgilerine erişme izni yok.

Örnekler

Aşağıdaki örnek, DNS ana bilgisayar adını olarak IPAddressçözümlemek için kullanırBeginResolve.

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

Açıklamalar

Zaman uyumsuz BeginResolve işlem yöntemi çağrılarak EndResolve tamamlanmalıdır. Genellikle, yöntemi temsilci tarafından çağrılır requestCallback .

İşlem tamamlanana kadar bu yöntem engellemez. İşlem tamamlanana kadar engellemek için yöntemini kullanın Resolve .

Zaman uyumsuz programlama modelini kullanma hakkında daha fazla bilgi için bkz. Zaman Uyumlu Yöntemleri Zaman Uyumsuz Olarak Çağırma.

Not

Bu üye, uygulamanızda ağ izlemeyi etkinleştirdiğinizde izleme bilgilerini yayar. Daha fazla bilgi için .NET Framework ağ izleme bölümüne bakın.

Şunlara uygulanır

Ayrıca bkz.