我需要能够响应http状态代码为204的请求,但是appharbor只返回500错误。我的控制器代码正在正确执行,但是当调用下面的代码时,我只在fiddler中看到500错误。
protected ViewResult HttpNoContent()
{
Response.StatusCode = (int)HttpStatusCode.NoContent;
return View("NoContent");
}
答案 0 :(得分:4)
来自specification的引用(我已将重要部分用粗体显示):
204响应不得包含消息正文,因此始终如此 由标题字段后的第一个空行终止。
你不尊重这条规则。 204状态代码表示没有内容,但您正在返回视图。尝试返回EmptyResult:
protected ViewResult HttpNoContent()
{
Response.StatusCode = (int)HttpStatusCode.NoContent;
return new EmptyResult();
}