我从一个空白的MVC 3 web应用程序开始。我在本地IIS中为localhost:80创建了一个新网站,并配置了我的新MVC 3项目,使用该web服务器而不是VS开发web服务器。此时,我可以像往常一样运行和调试项目。但如果我把这个加到我的网里。配置,我得到一个"无法在web服务器上开始调试"的错误。我可以选择启动没有调试,它工作得很好。这是怎么回事?
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="401"/>
<error statusCode="401" responseMode="ExecuteURL" path="/Error401" />
</httpErrors>
</system.webServer>
httpErrors
是仅IIS7使用的新元素。这看起来有点奇怪,但是尝试在system.web section
下的web配置中添加以下内容:
<customErrors mode="RemoteOnly" defaultRedirect="~/error">
<error statusCode="401" redirect="~/Error401" />
</customErrors>
我希望我能在这里给更多的希望,但经过广泛的互联网研究,似乎没有解决办法。无论何时启用此配置节点,即使在调试之外没有明显的错误,也不会启动调试。
我以前注意到证书的问题可能会导致类似的错误发生。显然,调试器没有看到它期望的东西,因此失败。
我的解决方案是只在我们的测试环境中启用这个指令,而在开发中禁用它。