2010-06-17 50 views

回答

2

Request.Headers將分化的要求:

if (Request.Headers["host"].ToLower() == "localhost") 
{ 
    //shouldn't be hit for 127.0.0.1 
} 

注:根據您的需要,你將不得不考慮您的檢查之前清償的端口號。

+0

這或HTTP_HOST會做的伎倆。這很棒。將幫助我避免我所看到的問題。 (見tvanfosson評論) – BuddyJoe 2010-06-17 22:21:47

4

什麼關係呢?你不想只知道連接是否是本地連接?我只會使用IsLocal屬性。

if (Request.IsLocal) 
{ 
} 
+0

實際上它確實如此。 Windows 7中的內置DNS本地主機分辨率非常糟糕。取消hosts文件中的行註釋似乎沒有幫助。而我需要打127.0.0.1而不是本地主機或其死緩。每一個請求都會浪費時間來解析DNS。在ajax沉重的應用程序,這是可怕的。 – BuddyJoe 2010-06-17 22:16:49

+1

與IPv6堆棧有關。 http://stackoverflow.com/questions/1726585 – BuddyJoe 2010-06-17 22:25:50

+1

也許這是Firefox的問題,我可以使用這些修復程序之一。但我仍然想知道如何繞過127.0.0.1的DNS。關於IsLocal的好處,雖然+1 – BuddyJoe 2010-06-17 22:27:58

0

實際上,你可以指定任何名字作爲本地主機服務器名稱(只需編輯您的主機文件,例如,用一個任意名稱)

你可能需要讓機器告訴你,如果它是一個地方請求而不是試圖爲自己弄明白。

+0

看到評論 - 將不得不檢查只是隨機選擇名稱並將其放入主機的速度。我之前在其他操作系統上完成了此操作,但之前未安裝Windows 7。 – BuddyJoe 2010-06-17 22:23:09

相關問題