MyMVC框查找行动的过程是什么

  介绍

这篇文章将为大家详细讲解有关MyMVC框查找行动的过程是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

,首先,我们要先在web . config中注册MyMVC的HttpHandlerFactory,它是整个框架的入口。
在ASP.NET的管线过程中,会调用那么GetHandler()方法,终于我的代码有机会运行了!
框架执行的第一行代码是:

//根据请求路径、定位到要执行的ActionControllerActionPair一对=UrlParser.ParseAjaxUrl (virtualPath); 公共密封类ControllerActionPair{公共字符串控制器;公共字符串行动;}   静态方法UrlParser.ParseAjaxUrl()就是专门用来解析URL并返回ControllerActionPair的:

代码很简单,核心其实就是那个正则表达式,从URL中提取控制器,行动的名字全靠它。
至于正则表达式的使用,我想这是个基本功,这里就略过了。

再来看AjaxHandlerFactory的第二个调用:

//获取内部表示的调用信息InvokeInfo vkInfo=ReflectionHelper.GetAjaxInvokeInfo(一对);

ReflectionHelper类是一个内部使用的工具类,专门用于反射处理,AjaxAction查找过程的相关代码如下(注意代码中的注释):

上面就是AjaxAction查找相关的4段代码:
1。在ReflectionHelper的静态构造函数中,我加载了所有ajaxacontroller。
2。GetAjaxController方法用于根据一个控制器的名字返回控制器的类型描述。
3。GetAjaxAction方法用于根据控制器的类型以及要调用的行动的名字返回行动的描述信息。
4。GetAjaxInvokeInfo方法用于根据从AjaxHandlerFactory得到的ControllerActionPair描述转成更具体的描述信息。

代码中,行动的查找过程采用了延迟的加载模式,保存行动描述信息的集合我采用了线程安全的散列表

关于MyMVC框查找行动的过程是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

MyMVC框查找行动的过程是什么