关于MVC中 服务器无法在发送 HTTP 标头之后修改 cookie此类问题的解决

处理方法

使用过滤器控制权限时,若无权则跳转到无权页面,
但是每次跳转都会出现 ERROR - System.Web.HttpException (0x80004005): 服务器无法在已发送 HTTP 标头之后设置状态。
每天的日志都会爆满,经过各种百度,各种调试,
按照网上的方法,在跳转前清空Response,但是似乎无法起效,功夫不负有心人,
最终发现一个比较使用的方法,
在跳转时设置:filterContext.Result = new EmptyResult();
或者直接设置:filterContext.Result = new RedirectResult("/Account/NoPower");即可。
本人是初学者,问题比较水,只为能帮同行解决同类问题,少走弯路。

原博文

1,先了解一下MVC生命周期 ,来源于:http://www.cnblogs.com/zgynhqf/p/5679032.html
2,服务器无法在发送 HTTP 标头之后修改 cookie此类问题的解决?
  出现此类问题的最终原因参考:
   问题根源所在:http://www.cnblogs.com/dudu/p/cannot-redirect-after-http-headers-have-been-sent.html#undefined
   解决办法:http://www.cnblogs.com/yxxrui/p/5484393.html
3,出现上面问题的根源所在是,在通过Redirect重定向之后,并没有结束当前请求,还会继续执行后面的方法,此时已经不能再修改cookie了。

原文地址:https://www.cnblogs.com/masonblog/p/12726685.html