本文為機器翻譯文章。如需檢視英文版,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

Dns.GetHostByName 方法 (String)

 
注意:此 API 現在已經過時。

取得指定 DNS 主機名稱的 DNS 資訊。

命名空間:   System.Net
組件:  System (在 System.dll 中)

[ObsoleteAttribute("GetHostByName is obsoleted for this type, please use GetHostEntry instead. http://go.microsoft.com/fwlink/?linkid=14202")]
public static IPHostEntry GetHostByName(
	string hostName
)

參數

hostName

主機的 DNS 名稱。

傳回值

Type: System.Net.IPHostEntry

IPHostEntry 物件,含有在 hostName 中所指定之位址的主機資訊。

Exception Condition
ArgumentNullException

hostNamenull

ArgumentOutOfRangeException

hostName 的長度大於 255 個字元。

SocketException

當解析 hostName 時,發生錯誤。

GetHostByName 方法會查詢網際網路 DNS 伺服器,以取得主機資訊。如果您傳遞空字串做為主機名稱,則這個方法會擷取本機電腦的標準主機名稱。

若要非同步存取 DNS 資訊,請使用 BeginGetHostByNameEndGetHostByName 方法。

如果 Ipv6Element.Enabled 屬性設為 true,傳回之IPHostEntry 執行個體的Aliases 屬性不會被此方法填入,而且永遠會是空的。

System_CAPS_note注意事項

在應用程式中啟用網路追蹤時,這個成員便會發出追蹤資訊。如需詳細資訊,請參閱Network Tracing in the .NET Framework

下列範例會使用 GetHostByName 方法,取得指定之 DNS 主機名稱的 DNS 資訊。

    try 
    {
       IPHostEntry hostInfo = Dns.GetHostByName(hostName);
       // Get the IP address list that resolves to the host names contained in the 
       // Alias property.
       IPAddress[] address = hostInfo.AddressList;
       // Get the alias names of the addresses in the IP address list.
       String[] alias = hostInfo.Aliases;

       Console.WriteLine("Host name : " + hostInfo.HostName);
       Console.WriteLine("\nAliases : ");
       for(int index=0; index < alias.Length; index++) {
         Console.WriteLine(alias[index]);
       } 
       Console.WriteLine("\nIP address list : ");
       for(int index=0; index < address.Length; index++) {
          Console.WriteLine(address[index]);
       }
    }
    catch(SocketException e) 
    {
       Console.WriteLine("SocketException caught!!!");
       Console.WriteLine("Source : " + e.Source);
       Console.WriteLine("Message : " + e.Message);
    }
    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);
 }

DnsPermission

- 用來存取 DNS 資訊。關聯的列舉型別:PermissionState.Unrestricted

.NET Framework
自 1.1 起可用
回到頁首
顯示: