本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

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
Type: System.String

主机的 DNS 名称。

返回值

Type: System.Net.IPHostEntry

IPHostEntry 对象,其中包含在指定的地址的主机信息 hostName

Exception Condition
ArgumentNullException

hostNamenull

ArgumentOutOfRangeException

长度 hostName 大于 255 个字符。

SocketException

在解析时遇到错误 hostName

GetHostByName 方法查询 Internet DNS 服务器中的主机信息。 如果您传入一个空字符串作为主机名,此方法检索本地计算机的标准主机名。

DNS 信息异步访问,请使用 BeginGetHostByNameEndGetHostByName 方法。

如果 Ipv6Element.Enabled 属性设置为 true, 、 Aliases 属性 IPHostEntry 返回实例不填充此方法,且将始终为空。

System_CAPS_note说明

在您的应用程序中启用网络跟踪时,此成员发出跟踪信息。 有关详细信息,请参阅.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

for accessing DNS information. Associated enumeration: F:System.Security.Permissions.PermissionState.Unrestricted

.NET Framework
自 1.1 起可用
返回页首
显示: