欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

1、MVC如何实例化控制器?

程序员文章站 2022-07-02 13:14:19
我们知道MVC请求进来,然后路由匹配,然后找到控制器和Action,最后会调用Action方法,但是大家想想控制器是个普通的类,Action是个普通的实例方法,要想调用Action必须先实例化控制器,那么MVC中如何实例化控制器的呢? 1、MVC请求进来会先进入到UrlRoutingHandler里 ......

我们知道mvc请求进来,然后路由匹配,然后找到控制器和action,最后会调用action方法,但是大家想想控制器是个普通的类,action是个普通的实例方法,要想调用action必须先实例化控制器,那么mvc中如何实例化控制器的呢?

1、mvc请求进来会先进入到urlroutinghandler里的processrequest

1、MVC如何实例化控制器?

 2、然后进入到mvchandler里的processrequest

1、MVC如何实例化控制器?

3、mvchandler里的processrequestinit,在这里面实例化控制器

1、string requiredstring = this.requestcontext.routedata.getrequiredstring("controller");路由匹配之后产生的结果集routedata,得到requiredstring字符串,requiredstring是个完整类型名称

1、MVC如何实例化控制器?

1、MVC如何实例化控制器?

2、controllerbuilder.getcontrollerfactory();得到默认的控制工厂defaultcontrollerfactory,然后通过defaultcontrollerfactory的createcontroller方法利用反射去创建controller实例

1、MVC如何实例化控制器?