记录一次 服务器无法在已发送 HTTP 标头之后设置状态

看到日志里有 服务器无法在已发送 HTTP 标头之后设置状态

网上的很多方法都是下面的处理,其实没找到问题的根源

Response.Clear();
Response.BufferOutput = true;

这个问题一般都是在用户认证里进行跳转时出现

由于我们的过滤器来判断用户是否登录,没登录跳到登录页。但在redirect后,控制器里的action代码还要运行,包括 return view()

因为redirect要设置httpstatus,向客户端发送输出,action里还要设置httpstatus进行输出,所以报错

假若不让action里的代码运行就不会报这个错误了,不让运行的办法是

filterContext.Result = new EmptyResult();

请解决了这个问题的朋友给我点赞。