asp.net-mvc-3 – 无法在HttpStatusCodeResult中指定StatusMessage

我有以下Controller方法.

public ActionResult Save(IEnumerable<Model> models)
{
    try
    {
        SaveModels(models);
    } 
    catch (ApplicationException ex)
    {
        return new HttpStatusCodeResult(500, "error");
    }
    return new EmptyResult();
}

这将始终返回“内部服务器错误”作为HTTP状态描述,无论我给构造函数的消息是什么.

提琴手输出:

HTTP/1.1 500 Internal Server Error
Server: ASP.NET Development Server/10.0.0.0
Date: Tue, 12 Apr 2011 12:44:09 GMT
X-AspNet-Version: 4.0.30319
X-AspNetMvc-Version: 3.0
Cache-Control: private
Content-Length: 0
Connection: Close

如果我将状态代码更改为501,则通过线路未实现,与200 OK相同.如果我选择一个不存在的状态代码,例如535,它将只返回状态代码而没有任何描述.根据documentation和我从其他人那里找到的例子,我看不出我做错了什么.

谁能看到我做错了什么?

最佳答案 我只是遇到了同样的问题,基于@Mikael的评论,我尝试将我的应用程序部署到实际的IIS服务器,是的,您可以指定实际的状态描述,它将返回到客户端.

为什么与卡西尼不同,我不太确定.

点赞