У меня есть проект ASP.net MVC 5, который содержит WebAPI в определенной области API. Я включил обработку ошибок IIS7 в свой web.config следующим образом:
<system.webServer>
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="400" subStatusCode="-1" />
<remove statusCode="404" subStatusCode="-1" />
<remove statusCode="500" subStatusCode="-1" />
<error statusCode="400" path="400.html" responseMode="File" />
<error statusCode="404" path="404.html" responseMode="File" />
<error statusCode="500" path="500.html" responseMode="File" />
</httpErrors>
</system.webServer>
Отображает дружественные сообщения пользователю веб-сайта MVC при 404/500 и т.д. Моя проблема возникает, когда конкретные (законные) коды статуса возвращаются из WebAPI (например, 400, когда вызывается `/api/token '). В этих случаях JSON-контент ответа перехватывается IIS, и мое дружеское сообщение HTML возвращается как ответ вместо исходного JSON из WebAPI. Можно ли исключить область API из обработки ошибок IIS? Если этого не может быть сделано, то каково правильное решение, позволяющее сосуществовать с веб-сайтами ASP.net MVC и ответами WebAPI JSON?