Пример #1
0
 /// <summary>
 /// The job of this method is invoke an action and ultimately populate the 
 /// </summary>
 /// <param name="application">The current application</param>
 /// <param name="context">A context which stores the request and response contexts.</param>
 public async Task Execute(MvcApplication application, NavigationContext context)
 {
     Initialize(application, context);
     var action = RouteData.Action;
     var actionResult = await ActionInvoker.InvokeAction(ControllerContext, action);
     var view = ((ViewResult)actionResult).View;
     view.Initialize(application.CreateViewContext(this));
     context.Response.View = view;
 }
Пример #2
0
        /// <summary>
        /// The job of this method is invoke an action and ultimately populate the
        /// </summary>
        /// <param name="application">The current application</param>
        /// <param name="context">A context which stores the request and response contexts.</param>
        public async Task Execute(MvcApplication application, NavigationContext context)
        {
            Initialize(application, context);
            var action       = RouteData.Action;
            var actionResult = await ActionInvoker.InvokeAction(ControllerContext, action);

            var view = ((ViewResult)actionResult).View;

            view.Initialize(application.CreateViewContext(this));
            context.Response.View = view;
        }
Пример #3
0
        /// <summary>
        /// The job of this method is invoke an action and ultimately populate the
        /// </summary>
        /// <param name="application">The current application</param>
        /// <param name="context">A context which stores the request and response contexts.</param>
        /// <param name="continuation">This method is asynchronous -- to take some action after the execution
        /// completes, you must pass the continuation argument.</param>
        public Task Execute(MvcApplication application, NavigationContext context)
        {
            Initialize(application, context);
            var action = RouteData.Action;
            var task   = ActionInvoker.InvokeAction(ControllerContext, action);

            return(task.ContinueWith(x =>
            {
                var actionResult = x.Result;
                var view = ((ViewResult)actionResult).View;
                view.Initialize(application.CreateViewContext(this));
                context.Response.View = view;
            }));
        }