ASP.NET控制器操作返回状态代码200,但EndRequest将其作为204(NoContent)

时间:2017-11-17 01:25:23

标签: c# asp.net asp.net-mvc action-filter http-status-code-204

在我的ASP.NET MVC应用程序控制器中处理请求并返回状态代码为200的特定视图。当它到达Application_EndRequest时,它已经204。我的视图的响应内容是正确的并且在响应中,因此仅修改状态代码。这是一个例子(状态是204但内容在那里):

HTTP/1.1 204 No Content
Cache-Control: no-cache
Pragma: no-cache
Content-Type: text/html; charset=utf-8
Expires: -1
Vary: User-Agent
Access-Control-Allow-Origin: *
Date: Fri, 24 Nov 2017 22:12:17 GMT

可能是ActionFilter修改响应代码,但我无法找到执行此操作的特定过滤器。

什么可能修改我的响应的状态代码,如何调试处理给定请求的所有过滤器?

1 个答案:

答案 0 :(得分:1)

这是正确的,这意味着系统一切正常,数据(内容)不正确。

示例,Employee表有两条记录,其id为1和2.如果使用ef更新id = 3的记录,则会出现此错误。

您需要做的是......对您的数据进行适当的验证。