快救我:安装补丁后,发生“无法在Web服务器上启动调试,与Web服务器通信时出现身份验证错误”!

时间:2021-04-13 17:55:52
被这个问题困扰一个月了。这是微软的sp1上的bug所致。

问题描述:
我使用的是修改hosts,模拟真实网址来进行调试的。具体是这样的:我修改hosts文件,把某个域名,如www.163.com映射为127.0.0.1,然后在IIS信息管理器中,创建一个网站,该网站的主机头就是指向www.163.com

这样,在浏览器中输入www.163.com时,就不会再去访问网易的主页了,而是访问我本地的网站了。

然后我用vs2008中文版,打开我的网站项目,把调试启动路径设置为www.163.com,于是我就可以去用www.163.com调试我的程序了。

如果我不使用hosts的模拟真实网址的方法,直接按F5进行调试,那么vs2008就会自动生成类似于http://localhost:2323/这种网址来进行调试,这种网址不是我所需要的。

下面描述问题的发生情况:

使用www.163.com调试我的网站程序,在vs2008未装sp1前,按F5可以调试。我以前用vs2005的时候,如果vs2005未装vs2005的sp1,也能调试,但是不论是vs2005还是vs2008,只要一装上相应的sp1补丁,就不能再使用这种模拟真实网址的方式来进行调试了,会报如下错误:“无法在Web服务器上启动调试,与Web服务器通信时出现身份验证错误”。

 

注意事项:

1)请一定要注意,不论vs2005,还是vs2008未装sp1之是可以调试的!

2)我的调试网址是模拟真实网址,如使用www.163.com去调试,而不是用系统生成的带有端口号的网址去调试,这点是最大的区别,现在网络上的解决方法都不适合于我这种问题的解决方法。

     另外,vs2005,或vs2008,在装上sp1后,一样还能使用端口号的网址去调试!

3)网络上的解决方法:如aspnet_regiis.exe -i, 如启用windows集成,如设置目录的角色可访问性,象什么“Network Service”等等设置可访问性,这些方法通通不适合于解决本问题,因为我的问题是建立在模拟真实网址的基础之上的!

 

 

最后,感激不尽,请各位高人帮我解决一下,非常感谢。最后请不要劝我放弃使用模拟真实网址去进行调试的方法。因为这并没有解决问题。而且我的项目已经箭在弦上,不好再改了。

5 个解决方案

#1


把补丁卸载不就可以了

#2


顶,吾即将绝望……

#3


操,这个问题真他妈的狠,根本就没有解决的方法。

#4


你好,我也遇到了你这样的问题.我的vs2005 vs2008都会出现你所述的问题.但是真的是sp1造成的吗?
网上搜索的方法都解决不了,关注中!!!!!!!

#5


已找到解决方法,方法1修改以后可以成功调试,方法2没有试验。

 

方法 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 服务。

 

 

 

原始地址:

http://forums.microsoft.com/china/ShowPost.aspx?PostID=3734710&SiteID=15

http://support.microsoft.com/kb/896861 

http://blogs.msdn.com/webdevtools/archive/2008/08/13/debugging-a-website-with-a-host-header.aspx 

#1


把补丁卸载不就可以了

#2


顶,吾即将绝望……

#3


操,这个问题真他妈的狠,根本就没有解决的方法。

#4


你好,我也遇到了你这样的问题.我的vs2005 vs2008都会出现你所述的问题.但是真的是sp1造成的吗?
网上搜索的方法都解决不了,关注中!!!!!!!

#5


已找到解决方法,方法1修改以后可以成功调试,方法2没有试验。

 

方法 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 服务。

 

 

 

原始地址:

http://forums.microsoft.com/china/ShowPost.aspx?PostID=3734710&SiteID=15

http://support.microsoft.com/kb/896861 

http://blogs.msdn.com/webdevtools/archive/2008/08/13/debugging-a-website-with-a-host-header.aspx