Asp.net mvc 当MVC操作返回错误状态时,如何保留响应正文?

Asp.net mvc 当MVC操作返回错误状态时,如何保留响应正文?,asp.net-mvc,asp.net-mvc-4,iis,asp.net-mvc-5,iis-8,Asp.net Mvc,Asp.net Mvc 4,Iis,Asp.net Mvc 5,Iis 8,我想从我的MVC控制器返回BadRequest状态和错误消息: public class TestController : System.Web.Mvc.Controller { public ActionResult Bad() { Response.StatusCode = 400; return new JsonResult() { Data = new { Message = "Request is

我想从我的MVC控制器返回
BadRequest
状态和错误消息:

public class TestController : System.Web.Mvc.Controller
{
    public ActionResult Bad()
    {
        Response.StatusCode = 400;
        return new JsonResult()
        {
            Data = new { Message = "Request is bad!" },
            JsonRequestBehavior = JsonRequestBehavior.AllowGet
        };
    }
}
当我在IISExpress中启动应用程序时,该方法会返回响应体:

{"Message":"Request is bad!"}
但当我将同一站点部署到IIS(版本8.5)时,响应主体更改为:

Bad Request
为什么会这样?是否有一些设置允许在状态不是200时保留响应正文?

我找到了两种解决方案:

  • 设置为true
  • 在中将
    existingResponse
    设置为
    PassThrough