Web-API Asp.net возвращает непонятную ошибку 500
В моей настройке я получаю ошибку 500, если что-то пойдет не так с моим запросом веб-API.
Например, с помощью этого простого кода.
public IQueryable<Article> Get(){
throw new Exception("error");
return db.Articles; //yeah i know.. unreachable, not the point
}
Что я ожидаю (и что происходит в обычном MVC-контроллере):
![enter image description here]()
Что я получаю (в Web API):
Моя веб-конфигурация:
<customErrors mode="Off"/>
<compilation debug="true" targetFramework="4.5">
//under webserver
<httpErrors errorMode="detailed"/>
В интегрированном режиме пул приложений работает 4.0. 32-битные приложения включены.
Как я могу получить ошибку на поверхности в браузере? Или, по крайней мере, во время отладки?
Ответы
Ответ 1
Была та же проблема.
Для меня добавление
GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
в методе WebApiConfig
Register
.
После этого я получил хорошую подробную информацию об ошибке.
Вот еще одна информация о MSDN
Ответ 2
Если это веб-сервис WCF, вам нужно будет повернуть флаг IncludeExceptionDetailInFaults атрибута ServiceBehavior в значение true, чтобы ошибка отображалась так, как вы хотите.