项目:在 .net 4.0 框架下运行的 ASP MVC 4:
在 VS 2010 express 下运行应用程序(或在我的本地计算机上部署并在 IIS 7.5 下运行)时,操作的以下(伪代码)结果按预期工作
[HttpPost]
public ActionResult PostWord(Model model)
{
....
Response.StatusCode = 400;
Return new JsonResult { data = new {fieldName = "Word", error = "Not really a word!" } };
(并且我已经分配了 JsonResult 对象的 ContentType 和 ContentEncoding 属性,行为没有区别)
当可部署的移动到 Web 主机(使用 IIS 7)时,萤火虫告诉我响应是预期的(400),但响应中没有 JSON(即没有任何类型的文本)。如果我删除线
Response.StatusCode = 400;
从动作来看,响应中完美地形成了 JSON,但是响应状态码当然是 200(OK),这干扰了消费 javascript 和适当的函数调用。
关于可能发生的事情以及如何解决这个问题的任何想法?谢谢