WCF - 我如何知道连接到我的计算机的主机名是什么

时间:2013-03-22 20:16:42

标签: c# wcf

我如何知道连接到我的计算机的主机名是什么。

示例:

计算机A和计算机B成为主机,计算机A想要连接计算机B.

电脑A. IP:1.2.3.4 主机名:StavComputer ** AddServiceEndpoint(typeof(InterfaceForService),BasicHttpBinding1,“StavComputer”);

我是计算机B和计算机A连接到我,我想知道他的主机名是什么,在这种情况下是StavComputer。

这可能吗?!如果计算机A没有主机名,我会得到什么因为他根本没有主机?!我希望你理解!

1 个答案:

答案 0 :(得分:2)

从OperationContext中提取远程端点名称/ IP,并尝试按IP解析主机名。

var prop = OperationContext.Current.IncomingMessageProperties;
var remp = (RemoteEndpointMessageProperty)prop[RemoteEndpointMessageProperty.Name];
var hostEntry = Dns.GetHostEntry(remp.Address);
string hostName = hostEntry.HostName;