受保护的重写IAsyncResult BeginExecute-移植到.net核心

时间:2019-01-08 07:24:03

标签: c# asp.net-core .net-core asp.net-core-mvc 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);
}
  

我收集了很多不推荐使用的旧System.Web.MVC。如何“修复”或替换此方法?

1 个答案:

答案 0 :(得分:2)

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

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

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