首页 > 解决方案 > CancellationToken 在 ASP.NET Core ActionFilter 中是否可用?

问题描述

我可以注入CancellationTokenASP.NET Core操作方法,但我更愿意使用操作过滤器来处理它。如何在实施时访问取消令牌 IAsyncActionFilter?我的方法不应该将它作为参数。

标签: c#asp.net-coreaction-filter

解决方案


您已经发布了一篇非常好的文章的链接,其中包含一个小提示,您可以在其中获取此令牌。

MVC将使用. CancellationToken_CancellationTokenModelBinder

因此,您所要做的就是在您的操作过滤器中获取该令牌:

public class CustomActionFilterAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext context)
    {
        var cancellationToken = context.HttpContext.RequestAborted;
        // rest of your code
    }
}

推荐阅读