我的程序是一個WCF服務,它發佈了幾種方法並擁有多個客戶端。它將客戶列表存儲在數據庫中。在一些方法中,我需要從數據庫查詢調用者的數據。這question How can service know the caller?和鏈接的答案Get the Client’s Address in WCF顯示如何獲取調用者的IP。但是,我的客戶表中的地址字段通常不具有IP,但是類似於:如何檢查兩個端點地址是否相同?
http://localhost:80/
http://computerName:80/
http://computerName.domain.com:80/
哪些是有效的端點地址。讓我們想象我在鏈接的答案中使用解決方案,並獲得我的調用者的IP(例如http://192.80.212.21:80/
)。但是在數據庫中,客戶端存儲爲http://computerName:80/
如何檢查這兩個地址是否相同,以便我可以從數據庫中獲取相應的客戶端條目?
客戶端的數量非常小,因此重複數據庫中每一行的性能問題可以忽略不計。
'http:// localhost:80 /'和'http:// computerName:80 /'是不一樣的。第一個不能在機器外部訪問。因此是不同的。確實是 – Aliostad 2012-02-23 13:51:43
。但是,如果客戶端來自同一臺計算機,輸入地址的人可以輸入任意一個到數據庫,並且它的工作原理是一樣的。 – 2012-02-23 15:03:47