最近在做Asp.Net项目时发现一个调试错误。unable to start debugging on the web server. An authentication error occurred while communicating with the web server.
笔者开发环境:
OS:Windows Server 2003 Enterprice Edition SP2
IDE:Visual Studio 2010 Utilmate
IIS6.0
项目配置如下:
当调试项目时会提示下列错误:
解决办法如下:
方法 1:禁用环回检查
第一种方法是通过设置 DisableLoopbackCheck 注册表项来禁用环回检查。
若要我们为您解决该问题,请转到“帮我修复此问题”部分。如果您想自己修复此问题,请转到“我自己修复此问题”部分。
帮我修复此问题
若要自动设置 DisableLoopbackCheck 注册表项,请单击“修复此问题”链接。单击“文件下载”对话框中的“运行”,然后按照修复此问题向导中的步骤执行操作。
注意:此向导可能只提供英文版本。但是,Windows 的其他语言版本也提供自动修复功能。
注意:如果您使用的计算机并未出现此问题,则可将自动修复功能保存至闪存驱动器或 CD 中,然后就可在出现此问题的计算机中运行该功能。
我自己修复此问题
若要自己设置 DisableLoopbackCheck 注册表项,请按照下列步骤操作:
- 将
DisableStrictNameChecking注册表项设置为 1。 有关具体操作方法的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中的相应文章:281308 无法使用别名连接到基于 Windows 2000 或 Windows Server 2003 的计算机上的 SMB 共享 (EN)
- 依次单击「开始」、“运行”,键入 regedit,然后单击“确定”。
- 在注册表编辑器中,找到并单击下面的注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
- 右键单击“Lsa”,指向“新建”,然后单击“DWORD 值”。
- 键入 DisableLoopbackCheck,然后按 Enter。
- 右键单击 DisableLoopbackCheck,然后单击“修改”。
- 在“数值数据”框中,键入 1,然后单击“确定”。
- 退出注册表编辑器,然后重新启动您的计算机。
方法 2:指定主机名
若要指定映射到环回地址并且可以连接到计算机上的网站的主机名,请按照下列步骤操作:
- 将DisableStrictNameChecking
注册表项设置为 1。 有关具体操作方法的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中的相应文章:281308 无法使用别名连接到基于 Windows 2000 或 Windows Server 2003 的计算机上的 SMB 共享 (EN) - 依次单击「开始」、“运行”,键入 regedit,然后单击“确定”。
- 在注册表编辑器中,找到并单击下面的注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
- 右键单击“MSV1_0”,指向“新建”,然后单击“多字符串值”。
- 键入 BackConnectionHostNames,然后按 Enter。
- 右键单击“BackConnectionHostNames”,然后单击“修改”。
- 在“数值数据”框中,为本地计算机上的网站键入一个或多个主机名,然后单击“确定”。
- 退出注册表编辑器,然后重新启动 IISAdmin 服务。
PS:调试过程中语句此错误提示因开发环境的迥异,其解决方法也有所不同,此博文只是个例。