从ipv6地址获取主机名

时间:2012-09-04 00:45:41

标签: c# ipv6 net.tcp

我需要确定wcf程序中的调用计算机主机名。以下代码仅在我提供ipv4地址时有效:

  System.Net.IPAddress[] addresses = System.Net.Dns.GetHostAddresses("fe80::5423:9721:ff08:a07e");

  System.Net.IPHostEntry entry = System.Net.Dns.GetHostEntry(addresses[0]); //"192.168.0.107"); //fe80::5423:9721:ff08:a07e");
  string hostName = entry.HostName;

调用计算机是Win8 RTM计算机,只提供ipv6地址,因此我的wcf程序中的以下代码因未知主机错误而失败:

OperationContext context = OperationContext.Current;
MessageProperties prop = context.IncomingMessageProperties;
RemoteEndpointMessageProperty endpoint =
    prop[RemoteEndpointMessageProperty.Name] as RemoteEndpointMessageProperty;
ipAddress = endpoint.Address;


System.Net.IPHostEntry entry = System.Net.Dns.GetHostByAddress(ipAddress);
hostName = entry.HostName;
aliases = entry.Aliases.ToList<string>();

以上代码包含一些尝试的解决方法: - )

我在没有运气的情况下到处搜寻 - 有什么想法吗?

0 个答案:

没有答案