2012-01-14 111 views
0

目前,我在4.0 Framework上運行asp.net。我發現我的一段代碼對我來說真的很貴。我目前獲得訪問我的網站的用戶的IP地址和反向DNS,但是,我正在努力保持性能。便宜的反向dns查找

有沒有更便宜的選擇呢?

return System.Net.Dns.GetHostEntry(HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]).HostName; 
+0

(反向)DNS查找需要網絡訪問,這一直是限制因素。所以我不確定你在這裏要求改進什麼...... – 2012-01-14 13:23:08

+0

以什麼方式便宜?我認爲,無論你如何設法做到這一點,你仍然需要打DNS服務器的反向DNS ... – cha0site 2012-01-14 13:23:52

+0

我不知道我是否可以嘗試將這些更多地移到客戶端或將其移入腳本以獲得更快的響應時間。 – Brent 2012-01-14 13:58:01

回答

0

由於ServerVariables索引返回一個字符串,您的代碼段調用GetHostEntry string overload。其文檔描述了一個三步查找算法,包含兩個單獨的查詢。 GetHostEntry IPAddress overload文檔沒有描述任何類似的過程,所以它可能會保存查詢。再次,它似乎提供了相同的信息(所有IP地址和主機名),所以也許它是相同的,但只是記錄不同。