public IController CreateController(RequestContext requestContext, string controllerName)
        {
            IController result = null;

            string controllerType = controllerName + "Controller";
            /// TODO.. config it
            Assembly assembly = Assembly.Load("Tinct.PlatformController");
            if (assembly == null) 
            {
                /// TODO.. config it 
                throw new DllNotFoundException("Do not find Tinct.PlatformController assembly!");
            }
            var type = assembly.GetType("Tinct.PlatformController."+controllerType, false);

            if (null != type)
            {
                result = (IController)Activator.CreateInstance(type);
            }
            else 
            {
                /// TODO.. config it 
                throw new ArgumentException("Don not find ControllerName");
            }
            return result;
        }
Exemple #2
0
 public DispathMessage MapToControllerExcute(RouteData data)
 {
     RequestContext re = new RequestContext();
     re.RouteData = data;
     string controllerName = data.Controller;
     IControllerFactory controllerFactory = ControllerBuilder.Current.GetControllerFactory();
     IController controller = controllerFactory.CreateController(re, controllerName);
     controller.Execute(re);
     return re.RemainDispathUrlMessage;
 }
Exemple #3
0
 public void Execute(RequestContext requestContext)
 {
     ControllerContext context = new ControllerContext { RequestContext = requestContext, Controller = this };
     string actionName = requestContext.RouteData.ActionName;
     this.ActionInvoker.InvokeAction(context, actionName);
 }