2013-03-22 56 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

相關問題