【发布时间】:2012-06-28 18:29:03
【问题描述】:
根据 MSDN 上的 HttpResponseMessage documentation,原因短语(如 200 OK 的“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 合作。
我哪里出错了?
【问题讨论】:
-
这是 WCF Web API 的一个已知错误。我认为它已在 ASP.Net Web API 中修复。你用的是哪个?
-
我正在使用 ASP.NET WebAPI。
-
@Ross 你现在解决了吗?如果是这样,您能否查看答案并标记正确的答案。