private void ExecuteActionWithFilter(string controllerName, string actionName, Dictionary <string, object> parameters, ControllerBase controller, IActionRunner actionRunner) { _pipelineFilter.BeforeAction(controller, controllerName, actionName, parameters); try { actionRunner.Run(controller, parameters); } catch (Exception ex) { _pipelineFilter.ActionError(controller, controllerName, actionName, parameters, ex); throw; } _pipelineFilter.AfterAction(controller, controllerName, actionName, parameters); }