使用Visual Studio 2005(Visual Studio 2008亦存在此問題)調試設置了主機頭的網站時出現如下錯誤信息:
---------------------------
Microsoft Visual Studio
---------------------------
無法在 Web 服務器上啓動調試。與 Web 服務器通信時出現身份驗證錯誤。請參閱“幫助”以協助解決問題。
---------------------------
項目屬性的Web中設置“項目URL”爲 http://www.self.cn/
如果將“項目URL”指定爲 localhost 則在設置時不會出現以上的錯誤,所以排除了網上絕大部分文章提供的“集成Windows身份驗證”,項目屬性中“啓用調試”的解決方案。
真正的解決方法如下:
方法 1: 禁用環回檢查
請遵循以下步驟:
1. 打開註冊表編輯器(單擊 開始 , 單擊 運行 , 類型 regedit然後單擊 確定 )。
2. 中註冊表編輯器, 找到並單擊以下註冊表項:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa
3. 右擊 Lsa , 指向 新建 , 然後單擊 DWORD 值 。
4. 類型 DisableLoopbackCheck然後按 Enter。
5. 右擊 DisableLoopbackCheck , 然後單擊 修改 。
6. 在 數值數據 框中, 鍵入 1然後單擊 確定 。
7. 退出註冊表編輯器, 並重新啓動計算機。 (可以不重啓計算機)
方法 2: 指定主機名
要指定主機名, 映射到環回地址並可連接到 Web 站點上, 請按照下列步驟:
1. 打開註冊表編輯器(單擊 開始 , 單擊 運行 , 類型 regedit然後單擊 確定 )。 。
2. 中註冊表編輯器, 找到並單擊以下註冊表項:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa/MSV1_0
3. 右擊 MSV1_0 , 指向 新建 , 然後再單擊 多字符串值 。
4. 類型 BackConnectionHostNames然後按 Enter。
5. 右擊 BackConnectionHostNames , 然後單擊 修改 。
6. 在 數值數據 框中, 鍵入主機名或主機名爲站點所在的本地計算機名稱, 確定 。
7. 退出註冊表編輯器, 並重新啓動 IISAdmin 服務。
這 個錯誤的信息只會出現在特定環境的計算機中:This issue only appears on Web Sites configured with a host header on machines with IIS 6 or IIS 5.1 and the RTM version of the .Net Framework 3.5 SP1.