受保护的覆盖 IAsyncResult BeginExecute - 移植到.net core

1 c# asp.net-core-mvc .net-core asp.net-core asp.net-core-2.0

我一直在将.net 代码移植到 .net core ,但有些领域具有挑战性。其中一个区域是 MVC 基本控制器覆盖方法

protected override IAsyncResult BeginExecute(System.Web.Routing.RequestContext requestContext, AsyncCallback callback, object state)
{
    OpsManager.ActiveApplicationId = ApplicationId;
    return base.BeginExecute(requestContext, callback, state);
}
Run Code Online (Sandbox Code Playgroud)

我收集到很多旧的 System.Web.MVC 已被弃用。我如何“修复”或替换此方法?

Hen*_*ema 5

我认为您正在寻找类OnActionExecutionAsync上的方法Controller

public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
{
    // Do something...
    await base.OnActionExecutionAsync(context, next);
}
Run Code Online (Sandbox Code Playgroud)

或者,如果您想将某些逻辑应用于所有请求(而不仅仅是单个控制器),您可能需要研究middleware