AppHarbor MVC - невозможно использовать код статуса HttpNoContent
Мне нужно иметь возможность отвечать на запросы с кодом http http 204, но appharbor только возвращает ошибку 500. Мой код контроллера выполняется правильно, но когда вызывается приведенный ниже код, я вижу только ошибку 500 в fiddler.
protected ViewResult HttpNoContent()
{
Response.StatusCode = (int)HttpStatusCode.NoContent;
return View("NoContent");
}
1 ответ
Решение
Цитата из спецификации (я выделил важную часть жирным шрифтом):
Ответ 204 НЕ ДОЛЖЕН включать тело сообщения и, таким образом, всегда заканчивается первой пустой строкой после полей заголовка.
Вы не соблюдаете это правило. Код статуса 204 означает отсутствие содержимого, и все же вы возвращаете представление. Попробуйте вернуть EmptyResult:
protected ViewResult HttpNoContent()
{
Response.StatusCode = (int)HttpStatusCode.NoContent;
return new EmptyResult();
}