迷你版mvc框架执行过程
一、把路由添加到路由表,
二、注册ControllerBuilder(老板)和默认工厂(DefaultControllerFactory)
2.1默认工厂获取可以创建的Controller。
三、由于配置文件中含有IHttpModule的配置,所以会在HttpApplication的指定事件发生时执行注册的委托。
3.1路由数据根据HttpContext来获取RouteData,
3.2根据RouteData和HttpContext封装成RequestContext
3.3使用HttpContextWrapper的RemapHandler方法来为请求指定处理程序
3.4在实现了IHandler类中ProcessRequest方法获得Context的Controller的名称,初始化Controller,然后执行ControllerBase的Execute方法,在初始化Controller时,初始化一个ModelBinder,用来实现Model的绑定。这样就进入了Controller中
四、进入Controller之后,执行Execute方法
五、在Controller执行Execute方法,ActionInvoke方法执行指定的Action,执行Action时可以根据其参数和3.4得到的ModelBinder来实现Model的绑定。
六、执行Action的ExecuteResult方法,获得Result。