我正在尝试将服务器上的所有错误重定向回我的应用程序,以便它可以显示适当的内容,并可能将用户重定向到正确的位置。
当我通过它编辑错误页面时,IIS 7 Manager将此部分添加到我的web.config中。
<httpErrors errorMode="Custom">
<remove statusCode="401" subStatusCode="-1" />
<remove statusCode="403" subStatusCode="-1" />
<remove statusCode="405" subStatusCode="-1" />
<remove statusCode="406" subStatusCode="-1" />
<remove statusCode="412" subStatusCode="-1" />
<remove statusCode="502" subStatusCode="-1" />
<remove statusCode="501" subStatusCode="-1" />
<remove statusCode="500" subStatusCode="-1" />
<error statusCode="404" path="/ErrorPage.aspx" responseMode="ExecuteURL" />
<error statusCode="500" prefixLanguageFilePath="" path="/ErrorPage.aspx" responseMode="ExecuteURL" />
<error statusCode="501" prefixLanguageFilePath="" path="/ErrorPage.aspx" responseMode="ExecuteURL" />
<error statusCode="502" prefixLanguageFilePath="" path="/ErrorPage.aspx" responseMode="ExecuteURL" />
<error statusCode="412" prefixLanguageFilePath="" path="/ErrorPage.aspx" responseMode="ExecuteURL" />
<error statusCode="406" prefixLanguageFilePath="" path="/ErrorPage.aspx" responseMode="ExecuteURL" />
<error statusCode="405" prefixLanguageFilePath="" path="/ErrorPage.aspx" responseMode="ExecuteURL" />
<error statusCode="403" prefixLanguageFilePath="" path="/ErrorPage.aspx" responseMode="ExecuteURL" />
<error statusCode="401" prefixLanguageFilePath="" path="/ErrorPage.aspx" responseMode="ExecuteURL" />
</httpErrors>
但是现在当我尝试在ASP.Net中调试时,我收到一条错误消息。 “无法在Web服务器上启动调试。有关常见配置错误,请参阅帮助。在调试器外部运行Web页面可能会提供更多信息。确保服务器运行正常。通过执行验证web.config中没有语法错误没有调试的Debug.Start。您可能还想在在线文档中引用ASP.NET和ATL Server调试主题。“无论设置是在web.config还是服务器applicationHost.config中,都会发生这种情况。
在没有调试的情况下进行Debug.Start没有提供有用的信息,网站正常运行。
使用从web.config中删除的部分开始调试可以使其正确启动。奇怪的是,我可以在调试器启动后将此部分添加回web.config,并且一切都按预期工作。
我认为它发生的原因是asp.net调试器不知道IIS配置部分。继续删除此部分并重新添加它真的很痛苦。任何人都知道如何解决它?
答案 0 :(得分:2)
当我们需要调试错误页面时,在开始调试后将其切换为自定义错误。