禁用特定路径的“ httpErrors”元素

时间:2018-12-21 11:08:15

标签: asp.net xml asp.net-mvc error-handling web-config

我在使用Web.config中的httpErrors元素时遇到了麻烦。

我决定使用httpErrors元素来处理http错误并在我的(ASP.NET MVC)应用程序中显示自定义错误页面。问题是我还有一个我不希望httpErrors元素处理其错误的API,它具有自己的自定义错误响应。

我希望在使用API​​时将其禁用。

我能做些什么来实现自己想要的吗?

1 个答案:

答案 0 :(得分:3)

我找到了解决方法。

我们可以使用location元素来解决此类问题:

我们只需要将下面的代码放在Web.config的configuration元素(根目录)中即可。

  <location path="api">
    <system.webServer>
      <httpErrors existingResponse="PassThrough"></httpErrors>
    </system.webServer>
  </location>

location元素实际执行的操作是,它会覆盖以您在path属性中输入的短语(对我来说是“ api”)开头的路径配置。然后要做的就是禁用httpErrors,这可以通过将existingResponse属性设置为PassThrough来完成。

希望对您有帮助。