Можно ли использовать пользовательские страницы ошибок с сайтом MVC, но не с веб-API?

У меня есть проект MVC с папкой / api, которая содержит мои контроллеры Web API. Я хочу следующие вещи:

Мой сайт MVC, чтобы обслуживать пользовательские страницы ошибок при возникновении ошибкиМой веб-API для обслуживания ответа об ошибке по умолчанию (json / xml, содержащий исключение и трассировку стека)

В файле web.config для моего сайта MVC у меня есть узел httpErrors, и я установил errorMode в значение «Custom», чтобы у меня могли появиться хорошие страницы ошибок при 404s / 500s / etc. происходят во время просмотра сайта MVC:

<httpErrors errorMode="Custom" existingResponse="Replace">
  <remove statusCode="404" subStatusCode="-1" />
  <remove statusCode="500" subStatusCode="-1" />
  <remove statusCode="403" subStatusCode="-1" />
  <error prefixLanguageFilePath="" statusCode="404" path="Content\notfound.htm" responseMode="File" />
  <error statusCode="500" path="/Errors" responseMode="ExecuteURL" />
  <error statusCode="403" path="/Errors/Http403" responseMode="ExecuteURL" /></httpErrors>

Однако при такой конфигурации API будет обслуживать пользовательскую страницу ошибки при возникновении ошибки, а не json / xml с трассировкой исключения / стека (что является желаемым поведением).

Есть ли способ настроить пользовательские ошибки только для моего сайта MVC, а не для веб-API? Этот блог говорит, что нет (http://blog.kristandyson.com/2012/11/iis-httperrors-aspnet-web-api-fully.html), но я хотел бы услышать, нашел ли кто-нибудь еще решение с тех пор, как этот блог был опубликован.

Я полагаю, если бы не было, я мог бы создать отдельный проект / сборку для моего проекта Web API. Это позволило бы мне настраивать httpErrors для MVC и веб-API по отдельности, но я бы предпочел не создавать другой проект, просто чтобы настроить еще один файл web.config.

Ответы на вопрос(3)

Ваш ответ на вопрос