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

Базовый запрос ASP.NET + Azure 400 не возвращает данные JSON

В моем ASP.NET MVC-контроллере есть действие, которое возвращает данные JSON с 400 Bad Request, когда к действию передаются недопустимые параметры.

[HttpDelete]
public ActionResult RemoveObject(string id) {
    if(!Validate(id)) {

        Response.StatusCode = (int)HttpStatusCode.BadRequest;
        return Json(new { message = "Failed", description = "More details of failure" });
    }
}

Это отлично работает под управлением IIS или с тестовым сервером разработки, запущенным из Visual Studio. После того, как проект был развернут в Azure, 400 Bad Request возвращается без данных JSON. Тип контента изменился на "text/html" и "Bad Request" для сообщения.

Почему поведение Azure отличается от другого?

4b9b3361

Ответ 1

Добавьте следующую запись в свой 'web.config'.

<system.webServer>
  <httpErrors existingResponse="PassThrough"/>
</system.webServer>

Это позволит HTTP-ошибкам проходить через un-molested.