Это действие Web API возвращает HTTP 500 (Внутренняя ошибка сервера) код состояния:Web API 2 - ApiController.InternalServerError() возвращает HTTP 400 код состояния
public IHttpActionResult Post()
{
return InternalServerError();
}
Но это действие возвращает HTTP 400 (Bad Request) код состояния:
public IHttpActionResult Post()
{
return InternalServerError(new Exception());
}
я ожидал бы оба действия, чтобы вернуть код 500 статуса и второе действие помещает некоторые детали ошибки в теле ответа.
Моя первая мысль заключается в том, что это ошибка, но я хотел получить другой вход. Есть ли веская причина, почему 400 должны быть возвращены во втором действии вместо 500?
ОБНОВЛЕНИЕ:
В документации по этому методу гласит:
Создает System.Web.Http.Results.ExceptionResult (500 Внутренняя ошибка сервера) с указанным исключением.
Я все больше и больше думаю, что это ошибка.
Там не проблема, связанная с этим, вы должны открыть один на http://aspnetwebstack.codeplex.com/workitem/list/basic – Fals