【问题标题】:httpErrors defaultResponseMode ExecuteURL not workinghttpErrors defaultResponseMode ExecuteURL 不起作用
【发布时间】:2014-01-17 13:19:44
【问题描述】:

我的 web.config 中有这个:

<httpErrors errorMode="Custom" defaultResponseMode="ExecuteURL">
  <remove statusCode="404" />
  <error statusCode="404" path="/Error/NotFound" /> 
</httpErrors>

当我浏览此 URL(不存在)时:http://localhost:8605/a.png 它不会在我的Error 控制器中执行我的NotFound 操作。为什么?

如果我明确地将responseMode="ExecuteURL" 添加到error 元素,那么它就可以工作。

像这样:&lt;error statusCode="404" path="/Error/NotFound responseMode="ExecuteURL" /&gt;

为什么我不能在 httpErrors 元素中全局设置该属性?

【问题讨论】:

  • 在您的两个示例中,您都缺少路径值之后的结束引号。尝试输入您的报价,看看是否可以解决任何问题
  • 抱歉,这只是一个错字。帖子已更新。

标签: asp.net asp.net-mvc iis iis-7 iis-8


【解决方案1】:

httpErrors defaultResponseMode 不用于明确定义的错误。

error documentation 表示 error responseMode 默认为 File

【讨论】:

  • 我发现这也是真的。错误的文档不能说明这一点(如果实际上是设计使然)。我希望将 DEFAULT 参数应用于给定部分中的所有子参数。
猜你喜欢
  • 1970-01-01
  • 2015-12-28
  • 2018-02-01
  • 2012-03-03
  • 2020-10-14
  • 2016-07-28
  • 1970-01-01
  • 2014-12-04
  • 2013-12-05
相关资源
最近更新 更多