Можно ли использовать пользовательские страницы ошибок с сайтом 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.