OnActionExecutedAsync 在 .Net 核心的 ActionFilterAttribute 中不可用

OnActionExecutedAsync Not available in ActionFilterAttribute in .Net core

我正在将动作过滤器属性从 .net framework 4.6 移植到 .net core 3.1。我在 .net 核心 ActionFilterAttribute 中注意到的一件事是,在 .net 核心中没有 OnActionExecutedAsync 方法。 ActionFilterAttribute 中的方法:-

public virtual void OnActionExecuted(ActionExecutedContext context);
public virtual void OnActionExecuting(ActionExecutingContext context);
public virtual Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next);
public virtual void OnResultExecuted(ResultExecutedContext context);
public virtual void OnResultExecuting(ResultExecutingContext context);
public virtual Task OnResultExecutionAsync(ResultExecutingContext context, ResultExecutionDelegate next); 

我有几个异步方法需要在操作执行后执行。执行此操作的最佳做​​法是什么。

使用 OnActionExecutionAsync,您可以在其中调用 next 委托,然后 运行 您自己的异步逻辑:

public override async Task OnActionExecutionAsync(
    ActionExecutingContext context, ActionExecutionDelegate next)
{
    var actionExecutedContext = await next();

    // .. Your awaits here.
}

next委托returnsActionExecutedContext.