private static String getLayoutCache(int appId, User objOwner) { MvcContext ctx = MockContext.GetOne(objOwner, typeof(BlogApp), appId); String content = ControllerRunner.Run(ctx, new wojilu.Web.Controller.Blog.LayoutController().Layout); return(content); }
private static String getLayoutCache(int appId, User objOwner) { MvcContext ctx = MockContext.GetOne(objOwner, appId); String content = ControllerRunner.Run("wojilu.Web.Controller.Blog.LayoutController", "Layout", ctx); return(content); }
private static string getMainCache(int appId) { MvcContext ctx = MockContext.GetOne(Site.Instance, appId); String content = ControllerRunner.Run("wojilu.Web.Controller.Blog.MainController", "Index", ctx); return(content); }
private static string getHomeCache(int appId, IMember owner) { MvcContext ctx = MockContext.GetOne(owner, appId); String content = ControllerRunner.Run(new wojilu.Web.Controller.Content.ContentController().Index, ctx); return(content); }
private static string getHomeCache(int appId, User owner) { MvcContext ctx = MockContext.GetOne(owner, typeof(BlogApp), appId); String content = ControllerRunner.Run(ctx, new wojilu.Web.Controller.Blog.BlogController().Index); return(content); }
/// <summary> /// 运行其他 action,并将运行结果作为当前 action 的内容 /// </summary> /// <param name="action"></param> /// <param name="id"></param> protected void run(aActionWithId action, int id) { if (ctx.utils.isAjax) { if (ctx.HasErrors) { echoError(); } else { echoAjaxOk(); } return; } if (isSameType(action.Method)) { setView(action.Method); action(id); } else { //ControllerBase mycontroller = ControllerFactory.FindController( action.Method.DeclaringType, ctx ); //mycontroller.view( action.Method.Name ); //action.Method.Invoke( mycontroller, new object[] { id } ); //actionContent( mycontroller.utils.getActionResult() ); content(ControllerRunner.Run(ctx, action, id)); } }
private static string getIndexCache(IMember owner, int appId, String viewName) { MvcContext ctx = MockContext.GetOne(owner, typeof(ForumApp), appId); String content = ControllerRunner.Run(ctx, typeof(wojilu.Web.Controller.Forum.RecentController).FullName, viewName); return(content); }
private static string getIndexCache(int appId, IMember owner) { MvcContext ctx = MockContext.GetOne(owner, typeof(ContentApp), appId); String content = ControllerRunner.Run(ctx, new wojilu.Web.Controller.Content.ContentController().Index); return(content); }
private static string getHomeCache(int appId, User owner) { MvcContext ctx = MockContext.GetOne(owner, appId); String content = ControllerRunner.Run("wojilu.Web.Controller.Blog.BlogController", "Index", ctx); return(content); }
/// <summary> /// 运行某 action /// </summary> /// <param name="actionName"></param> public void runAction(String actionName) { ControllerRunner.runAction(controller, actionName); //MethodInfo method = getMethod( actionName ); //if (method == null) { // throw new Exception( "action " + wojilu.lang.get( "exNotFound" ) ); //} //ParameterInfo[] parameters = getParameters( method ); //if (parameters.Length == 1) { // if (parameters[0].ParameterType == typeof( String )) { // method.Invoke( controller, new object[] { HttpUtility.UrlDecode( ctx.route.query ) } ); // } // else { // method.Invoke( controller, new object[] { ctx.route.id } ); // } //} //else if (parameters.Length == 0) { // method.Invoke( controller, null ); //} //else { // throw new Exception( "action " + wojilu.lang.get( "exNotFound" ) ); //} }
/// <summary> /// 获取某 action 的内容 /// </summary> /// <param name="action"></param> /// <param name="id"></param> /// <returns></returns> public String loadHtml(aActionWithId action, int id) { String result; if (isSameType(action.Method)) { String actionName = action.Method.Name; Template originalView = utils.getCurrentView(); setView(action.Method); action(id); Template resultView = utils.getCurrentView(); utils.setCurrentView(originalView); result = resultView.ToString(); } else { //ControllerBase targetController = action.Target as ControllerBase; //ControllerFactory.InjectController( targetController, ctx ); //targetController.view( action.Method.Name ); //action( id ); //result = targetController.utils.getCurrentView().ToString(); result = ControllerRunner.Run(ctx, action, id); } return(result); }
private static string getIndexCache(IMember owner, int appId) { MvcContext ctx = MockContext.GetOne(owner, typeof(ForumApp), appId); String content = ControllerRunner.Run(ctx, new wojilu.Web.Controller.Forum.RecentController().Post); return(content); }
/// <summary> /// Initializes a new instance of the <see cref="AreaControllerRenderer"/> class. /// </summary> /// <param name="controllerInfo"> /// The controller info. /// </param> /// <param name="controllerRunner"> /// The controller runner /// </param> public AreaControllerRenderer( ControllerInfo controllerInfo, ControllerRunner controllerRunner) { this.controllerInfo = controllerInfo; this.controllerRunner = controllerRunner; }
private static string getMainCache(int appId) { MvcContext ctx = MockContext.GetOne(Site.Instance, typeof(BlogApp), appId); String content = ControllerRunner.Run(ctx, new wojilu.Web.Controller.Blog.MainController().Index); return(content); }
private static string getLayoutCache(IMember owner) { MvcContext ctx = MockContext.GetOne(owner); String content = ControllerRunner.Run(ctx, new wojilu.Web.Controller.LayoutController().Layout); return(content); }
private static string getIndexCache(IMember owner, int appId, int boardId, int pageId) { MvcContext ctx = MockContext.GetOne(owner, typeof(ForumApp), appId); ctx.route.setPage(pageId); String content = ControllerRunner.Run(ctx, new wojilu.Web.Controller.Forum.BoardController().Show, boardId); return(content); }
public override void Process(ProcessContext context) { MvcEventPublisher.Instance.BeginAddLayout(context.ctx); if (context.ctx.utils.isSkipCurrentProcessor()) { return; } MvcContext ctx = context.ctx; ControllerBase controller = context.getController(); if (controller.utils.isHided(controller.GetType())) { return; } int intNoLayout = ctx.utils.getNoLayout(); IList paths = ctx.utils.getLayoutPath(); if (intNoLayout >= paths.Count + 1) { return; } String actionContent = context.getContent(); //检查缓存 CacheInfo ci = CacheInfo.InitLayout(ctx); Object cacheContent = ci.CheckCache(); if (cacheContent != null) { logger.Info("load from layoutCache=" + ci.CacheKey); context.setContent(HtmlCombiner.combinePage(cacheContent.ToString(), actionContent)); return; } String layoutContent = ControllerRunner.RunLayout(ctx); // 加入缓存 if (ci.IsActionCache) { ci.AddContentToCache(layoutContent); } if (ctx.utils.isEnd()) { context.endMsgByText(layoutContent); } else { context.setContent(HtmlCombiner.combinePage(layoutContent, actionContent)); } }
public override async Task ProcessAsync(RenderRenderingArgs args) { var runner = new ControllerRunner(args.Rendering.Controller, args.Rendering.Action, args.HttpContext, args.RouteData); using (var writer = new StringWriter()) { await runner.Execute(writer); args.CacheableOutput = writer.ToString(); args.Output.Write(args.CacheableOutput); } }
/// <summary> /// 运行其他 action,并将运行结果作为当前 action 的内容 /// </summary> /// <param name="action"></param> /// <param name="id"></param> protected void run(aActionWithId action, long id) { if (ctx.utils.isAjax) { if (ctx.HasErrors) { echoError(); } else { echoAjaxOk(); } return; } content(ControllerRunner.Run(this, action, id)); }
/// <summary> /// 运行其他 action,并将运行结果作为当前 action 的内容 /// </summary> /// <param name="controllerType">被运行的 action 所属的 controller 类型</param> /// <param name="actionName">action 名称</param> /// <param name="args">需要的参数</param> protected void run(String controllerFullTypeName, String actionName, params object[] args) { Type controllerType = ObjectContext.Instance.TypeList[controllerFullTypeName]; if (controllerType == base.GetType()) { view(actionName); MethodInfo method = base.GetType().GetMethod(actionName); if (method == null) { throw new Exception("action " + wojilu.lang.get("exNotFound")); } else { method.Invoke(this, args); } } else { actionContent(ControllerRunner.Run(ctx, controllerFullTypeName, actionName, args)); } }
public ControllerRunnerWrapper(ControllerRunner controllerRunner) { _controllerRunner = controllerRunner; }
/// <summary> /// 获取某 action 的内容 /// </summary> /// <param name="controller"></param> /// <param name="action"></param> /// <param name="id"></param> /// <returns></returns> public string loadHtml(string controller, string action, long id) { return(ControllerRunner.Run(ctx, controller, action, id)); }
/// <summary> /// 获取某 action 的内容 /// </summary> /// <param name="controller"></param> /// <param name="action"></param> /// <returns></returns> public String loadHtml(String controller, String action) { return(ControllerRunner.Run(ctx, controller, action)); }
/// <summary> /// 运行某 action /// </summary> /// <param name="actionName"></param> public void runAction(String actionName) { ControllerRunner.runAction(controller, actionName); }
// TODO 在被load的action中,使用showEnd无效 /// <summary> /// 获取某 action 的内容 /// </summary> /// <param name="action"></param> /// <returns></returns> public String loadHtml(aAction action) { return(ControllerRunner.Run(this, action)); }
/// <summary> /// 获取某 action 的内容 /// </summary> /// <param name="action"></param> /// <param name="id"></param> /// <returns></returns> public string loadHtml(aActionWithId action, long id) { return(ControllerRunner.Run(this, action, id)); }