Controller的激活是根据在路由过程得到的Controller名称来创建对应的Controller对象。相关类如图:
Controller激活的过程可通过如下序列图表示:
代码示例如下:
- string controllerName = this.RequestContext.RouteData.Controller;
- IControllerFactory controllerFactory = ControllerBuilder.Current.GetControllerFactory();
- IController controller = controllerFactory.CreateController(this.RequestContext, controllerName);
- controller.Execute(this.RequestContext);