在用mvc 的AuthorizeAttribute做身份验证,重写HandleUnauthorizedRequest方法,在Application_Error方法里出现异常System.Web.HttpException (0x80004005): Server cannot set status after HTTP headers have been sent。

 

反复尝试发现是在 protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)方法里这行代码引起的"Base.HandleUnauthorizedRequest(filterContext)"。删除该代码,发现在跳转前还是会执行Action里的其它方法。

改用: filterContext.Result = new RedirectResult(Common.GOMELONGINGURL);

一切正常。

相关文章:

  • 2021-09-02
  • 2021-04-07
  • 2021-12-01
  • 2021-06-23
  • 2021-04-24
  • 2021-12-10
  • 2022-12-23
猜你喜欢
  • 2021-11-11
  • 2021-09-02
  • 2021-09-03
  • 2021-10-13
  • 2021-12-09
相关资源
相似解决方案