asp.net-mvc - HttpErrors existingResponse ="Replace"阻止了 MVC 的自定义错误处理

标签 asp.net-mvc asp.net-mvc-3 web-config http-status-code-404

我正在使用 [HandleError] 处理错误MVC3 应用程序中的属性。这工作正常,但要使其正常工作,我需要添加

<system.web>
     <customErrors mode="On" />

为了处理 404 错误,我将其添加到系统中。 网络服务器 即 IIS 配置而不是 asp.net
<httpErrors errorMode="Custom" existingResponse="Replace">
   <remove statusCode="404" />
   <error statusCode="404" responseMode="ExecuteURL" path="/404page" />
</httpErrors>

这很简单并且非常适合 404。在这里添加它的原因是它似乎是一个很好的包罗万象的,没有任何自定义代码。现有响应= “替换”是必需的,其他模式会导致 404 不被处理。

问题是当 existingResponse="Replace"时 CustomErrors 不再起作用。它只返回一个没有详细信息的剥离 500 错误。

这两种模式只是相互排斥吗?我知道我可以编写其他 404 解决方案,但理想情况下我希望这个简单的配置更改起作用或理解为什么它无法完成。

最佳答案

不是直接回答,而是找到 this SO solution为我工作而不是使用 existingResponse="replace"

关于asp.net-mvc - HttpErrors existingResponse ="Replace"阻止了 MVC 的自定义错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11453903/

相关文章:

c# - 将 DropDownListFor 与原始类型列表一起使用的正确方法?

c# - 除了一个(登录)之外,保护 Controller 所有操作的最佳方法是什么?

c# - 我想要哪个 Json 序列化器?

jquery - 将数组从 jQuery 传递到 MVC.NET Controller ,在 Controller 上给出 null 结果,但 jQuery 函数上存在值

c# - Html.EditorFor() 中的过滤器列表

javascript - 中间点击 AJAX 链接 MVC

c# - 如何读取 ASP .NET Core Razor Pages 中的连接字符串

asp.net - web.config 转换未显示在 VS2010 中

c# - 应用程序不能搭建项目

url - IIS7中的urlCompression是什么?