我可以将CancellationToken
注入ASP.NET Core动作方法中,但是我宁愿使用动作过滤器来使用它。实施IAsyncActionFilter
时如何获取取消令牌?然后,我的方法不应将其作为参数。
您已经将a link发布到了很好的文章中,其中包含一个小提示,您可以在其中获得此令牌。
MVC将使用
CancellationToken
将动作方法中的任何CancellationTokenModelBinder
参数自动绑定到HttpContext.RequestAborted令牌。
因此,您要做的就是在操作过滤器中获取该令牌:
public class CustomActionFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
var cancellationToken = context.HttpContext.RequestAborted;
// rest of your code
}
}