我在处理不存在的URL时遇到问题......
在我的开发环境中,我导航到http://localhost:XXXX/FakeLocation并捕获HttpException并正确处理它。
当我部署到我的生产位置时,导航到http://MyProductionURL/FakeLocation时出现404错误。如何使生产位置抛出HttpException,以便我的代码可以处理它类似于它在我的开发环境中的工作方式?
答案 0 :(得分:1)
ASP.NET只会处理它在IIS中注册要处理的文件扩展名。因此,如果页面是foo.aspx,则默认情况下,ASP.NET将返回web.config中设置的404页面。默认情况下,foo.xyz的404将由IIS处理,因为IIS会处理任何没有映射的内容。
此页面显示如何set up wildcard mapping,以便所有请求,无论扩展程序是否由asp.net处理。
答案 1 :(得分:0)
您可能需要在生产位置配置IIS。你可能做的最简单的事情就是
答案 2 :(得分:0)
您可以在web.config
的自定义错误节点中执行此操作<configuration>
<system.web>
<customErrors defaultRedirect="GenericError.htm"
mode="RemoteOnly">
<error statusCode="500"
redirect="InternalError.htm"/>
</customErrors>
</system.web>
</configuration>
答案 3 :(得分:0)
看起来IIS处理此异常并且不会将错误传递给ASP.NET。 请检查http://www.chat11.com/How_To_Setup_A_Custom_404_Error_Handler_In_.NET