protected override async Task <IActionResult> InvokeActionAsync(ActionExecutingContext actionExecutingContext) { if (actionExecutingContext == null) { throw new ArgumentNullException(nameof(actionExecutingContext)); } var actionMethodInfo = _descriptor.MethodInfo; var methodExecutor = GetControllerActionMethodExecutor(); var arguments = ControllerActionExecutor.PrepareArguments( actionExecutingContext.ActionArguments, actionMethodInfo.GetParameters()); Logger.ActionMethodExecuting(actionExecutingContext, arguments); var actionReturnValue = await ControllerActionExecutor.ExecuteAsync( methodExecutor, actionExecutingContext.Controller, arguments); var actionResult = CreateActionResult( actionMethodInfo.ReturnType, actionReturnValue); Logger.ActionMethodExecuted(actionExecutingContext, actionResult); return(actionResult); }
protected override async Task <IActionResult> InvokeActionAsync(ActionExecutingContext actionExecutingContext) { var actionMethodInfo = _descriptor.MethodInfo; var arguments = ControllerActionExecutor.PrepareArguments( actionExecutingContext.ActionArguments, actionMethodInfo.GetParameters()); Logger.ActionMethodExecuting(actionExecutingContext, arguments); var actionReturnValue = await ControllerActionExecutor.ExecuteAsync( actionMethodInfo, actionExecutingContext.Controller, arguments); var actionResult = CreateActionResult( actionMethodInfo.ReturnType, actionReturnValue); Logger.ActionMethodExecuted(actionExecutingContext, actionResult); return(actionResult); }