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

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

[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 возвращается без данных JSON. Тип содержимого изменен на "text/html" и "Bad Request" для сообщения.

Чем отличается поведение в Azure?

1 ответ

Решение

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

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

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

Другие вопросы по тегам