ASP.NET Core ActionFilter中是否提供CancellationToken?

问题描述 投票:0回答:1

我可以将CancellationToken注入ASP.NET Core动作方法中,但是我宁愿使用动作过滤器来使用它。实施IAsyncActionFilter时如何获取取消令牌?然后,我的方法不应将其作为参数。

c# asp.net-core action-filter
1个回答
0
投票

您已经将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
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.