public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if(user==null)
{
filterContext.Result = new RedirectToActionResult("Login", "Account", null);
}
}
同步action:
public IActionResult index()
{
return View();
}
异步action:
public async Task<IActionResult> inbox(MessageType messagetype = MessageType.System, int pageIndex = 1)
{
return View();
}
为什么当user==null时,访问异步action不会跳转到/account/login,而在访问同步action时可以跳转。
因为你的过滤器是同步的,异步动作需要异步过滤器。就是返回 Task 方法名带 Async 后缀那个。