2013-03-22 51 views
1

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

例子:

计算机A和计算机B成为主机和计算机A要连接电脑B.

计算机A IP:1.2.3.4 主机名:StavComputer ** AddServiceEndpoint( typeof(InterfaceForService),BasicHttpBinding1,“StavComputer”);

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

这是可能吗?!如果计算机A没有主机名,而他没有主机,我会得到什么?!我希望你明白!

+0

所有的机器都会有一个标识符;即使它是工作站ID或IP地址。他们将始终有一些标识符。但是,客户端上的代码只需要使用:'Environment.MachineName'然后在服务器上处理。 – Greg 2013-03-22 20:26:25

回答

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; 
+0

这不是我想要的,而是尝试的tnx。无论如何,有没有办法知道连接到我的计算机的地址是什么? – 2013-03-22 21:03:40

+1

RemoteEndpointMessageProperty.Address包含连接到您的计算机的IP地址。 – Alexander 2013-03-23 19:22:11

相关问题