Возврат пустого результата действия

Я могу столкнуться с ситуациями, когда мне нужно просто вернуть неверный результат запроса.

Например, есть вызов действия контроллеров сайта MVC 3, но в uri запроса отсутствует обязательный параметр.

Что я возвращаю в ответ. Я знаю, что могу сделать это:

Response.StatusCode = (int)HttpStatusCode.BadRequest;
return Content(string.Empty);

Это правильный путь для описанной выше ситуации?


person Maxim V. Pavlov    schedule 08.02.2012    source источник
comment
Для дальнейшего использования существует тип EmptyResult.   -  person scottm    schedule 08.02.2012
comment
return new EmptyResult(); относительно комментария @scottm.   -  person Uwe Keim    schedule 03.11.2017


Ответы (1)


Ваше решение будет работать нормально, но более понятным способом будет использование класса HttpStatusCodeResult, например:

return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
person Sergey Kudriavtsev    schedule 08.02.2012
comment
Нет необходимости приводить код состояния к типу int. Просто верните новый HttpStatusCodeResult(HttpStatusCode.BadRequest); - person iheartcsharp; 15.08.2013
comment
Это решение не эквивалентно авторскому коду. По умолчанию HttpStatusCodeResult заставляет IIS возвращать HTML-страницу ошибки по умолчанию с описанием ошибки, но не с пустым содержимым. - person dlxeon; 18.03.2014
comment
@dlxeon: чтобы получить пустой результат, мы можем использовать статус NoContent вместо BadRequest. Тогда это должно выглядеть так. HttpStatusCodeResult(HttpStatusCode.NoContent); - person PNP; 09.07.2021