Согласно документации HttpResponseMessage в MSDN, фраза причины (например, часть «ОК» 200 OK) должна быть устанавливаемой. .Ответ HTTP позволяет мне установить фразу причины:
HttpResponseMessage response = new HttpResponseMessage(System.Net.HttpStatusCode.Conflict);
response.ReasonPhrase = "conflict message";
Однако, когда я использую ответ на стороне клиента как WebResponse, я не вижу свою пользовательскую фразу причины. Я ожидаю найти его в разделе StatusDescription. Глядя на необработанный ответ с помощью Fiddler, не кажется, что фраза причины устанавливается на сервере.
Внимательный коллега заметил, что с результатами действий (и их производными) я мог бы сделать что-то вроде:
new HttpStatusCodeResult(System.Net.HttpStatusCode.Conflict, "conflict message");
Кажется, что это именно та функциональность, которая мне нужна, но я не знаю, как убедить WebAPI сотрудничать.
Где я ошибаюсь?