2010-06-08 162 views
0

這裏有一段代碼,我使用的是:Dns.BeginGetHostEntry不會返回結果

public void Start() { 

    Dns.BeginGetHostEntry("www.google.com", new AsyncCallback(Stop), "Lookin up Google"); 
} 

public void Stop(IAsyncResult ar) { 
    IPHostEntry ie = Dns.EndGetHostEntry(ar); 
    Console.WriteLine(ie.HostName); 

    foreach(string adres in ie.Aliases) { 
     Console.WriteLine(adres); 
    } 
} 

而且它沒有返回。它似乎沒有工作,我沒有得到任何的錯誤。

如果我使用非異步方式:Dns.GetHostEntry("www.google.com");,那確實是的工作。

我不明白這裏有什麼問題。

回答

1

我只是跑它,它工作得很好

namespace test 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 

      Start(); 
     } 

     public void Start() 
     { 

      Dns.BeginGetHostEntry("www.google.com", new AsyncCallback(Stop), "Lookin up Google"); 
     } 

     public void Stop(IAsyncResult ar) 
     { 
      IPHostEntry ie = Dns.EndGetHostEntry(ar); 
      Console.WriteLine(ie.HostName); 

      foreach (string adres in ie.Aliases) 
      { 
       Console.WriteLine(adres); 
      } 
     } 
    } 
} 
+0

確定您所呼叫開始?我特別得到的結果是www.l.google.com – MQS 2010-06-08 02:54:34

+0

myeah,它現在也在工作。前段時間不會工作。此外,dirtmike,這是預期的輸出。 – KdgDev 2010-06-08 05:26:50