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);