C# WCF-我如何知道连接到我的计算机的主机名

C# WCF-我如何知道连接到我的计算机的主机名,c#,wcf,C#,Wcf,如何知道连接到我的计算机的主机名 示例: 计算机A和计算机B成为主机,计算机A希望连接计算机B 计算机A IP:1.2.3.4 主机名:STAV计算机 **AddServiceEndpoint(typeof(InterfaceForService),BasicHttpBinding1,“StatComputer”) 我是计算机B和计算机A,正在连接到我,我想知道他的主机名是什么,在这个例子中是StavComputer 这可能吗?!如果计算机A没有主机名,因为他根本没有主机,我会得到什么?!我希望

如何知道连接到我的计算机的主机名

示例:

计算机A和计算机B成为主机,计算机A希望连接计算机B

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

我是计算机B和计算机A,正在连接到我,我想知道他的主机名是什么,在这个例子中是StavComputer


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

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

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

所有机器都有一个标识符;即使是工作站Id或IP地址。它们总是有一些标识符。但是在客户端上存在的代码上,只需使用:
Environment.MachineName
,然后在服务器上处理它。这不是我要做的,而是尝试使用tnx。无论如何,有没有办法知道连接到我的计算机的地址?RemoteEndpointMessageProperty.address包含连接到你的计算机的IP地址。