private IExecutionContext FillExecutionContext(ExecutionContext _executionContext, RequestContext requestContext, ControllerCreateParams controllerConfig) { if (!String.IsNullOrEmpty(controllerConfig.DivId)) { _executionContext.ResponseHeader.Add(Constants.REFRESHDIV, controllerConfig.DivId); } ISafeBlockProvider safeBlockProvider = ControllerConfigurator.utilityProvider.GetSafeBlockProvider(); _executionContext.SafeActionBlock = safeBlockProvider.Create(controllerConfig.ExceptionPolicy); return(_executionContext); }
private IController GetExceptionController(FrameworkException exception, ExecutionContext executionContext, ISessionContext sessionContext) { System.Web.Mvc.Controller controller = null; IExceptionConfig exceptionConfig = ExceptionBag.Get(exception.ErrorId.ToString()); object command = Activator.CreateInstance(typeof(HandledExceptionCommand), exception); object resultBuilder = ActionResultBuilderFactory.Create(exceptionConfig.ResponseType, null); Type controllerType = typeof(Requestor <,>).MakeGenericType( new Type[] { typeof(HandledExceptionCommand), typeof(JsonErrorMessage) }); ISafeBlockProvider safeBlockProvider = ControllerConfigurator.utilityProvider.GetSafeBlockProvider(); executionContext.SafeActionBlock = safeBlockProvider.Create("UIDefault"); controller = Activator.CreateInstance(controllerType, executionContext, sessionContext, command, resultBuilder) as System.Web.Mvc.Controller; return(controller); }