我一直在通过 .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。如何“修复”或替换此方法?
答案 0 :(得分:2)
我认为您正在寻找OnActionExecutionAsync
类上的Controller
方法:
public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
{
// Do something...
await base.OnActionExecutionAsync(context, next);
}
或者,如果您想对所有请求(而不只是单个控制器)应用某种逻辑,则可能需要研究middleware。