Подтвердить что ты не робот

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):

enter image description here Моя веб-конфигурация:

<customErrors mode="Off"/>
<compilation debug="true" targetFramework="4.5">

//under webserver
<httpErrors errorMode="detailed"/>

В интегрированном режиме пул приложений работает 4.0. 32-битные приложения включены.

Как я могу получить ошибку на поверхности в браузере? Или, по крайней мере, во время отладки?

4b9b3361

Ответ 1

Была та же проблема.

Для меня добавление

    GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;

в методе WebApiConfig Register.

После этого я получил хорошую подробную информацию об ошибке.

Вот еще одна информация о MSDN

Ответ 2

Если это веб-сервис WCF, вам нужно будет повернуть флаг IncludeExceptionDetailInFaults атрибута ServiceBehavior в значение true, чтобы ошибка отображалась так, как вы хотите.