【问题标题】:MVC4 WebAPI Reason Phrase?MVC4 WebAPI 原因短语?
【发布时间】: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 你现在解决了吗?如果是这样,您能否查看答案并标记正确的答案。

标签: asp.net-mvc wcf-web-api


【解决方案1】:

ReasonPhrase 在 Cassini 中不起作用。使用 IIS Express 而不是 Cassini,您会发现响应中包含原因。

【讨论】:

    猜你喜欢
    • 2020-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-23
    • 2013-12-18
    • 2019-11-07
    • 2013-12-30
    • 1970-01-01
    相关资源
    最近更新 更多