.NET MVC运行周期

1.路由比对

接到http请求,在UrlRoutingModule模块中处理与网址路由有关的运算。默认情况下如果该网址可以对应于网站跟目录下的实体文件,则不会交给MVC处理,直接交由IIS运行。可以通过在Application_start函数中设置RouteTable.Routes.RouteExistingFiles = true,这样就可以不先判断跟目录下是否有实体文件对应。

成功匹配路由规则后,交由MvcRouteHandler来决定要求使用那个HttpHandler来运行,一般是MvcHandler来处理。

2.运行控制器(Controller)和动作(Action)

通过路由值取得Controller和Action,在Action查找到actionResult.如果返回非ViewResult,则直接把响应结果返回客户端

3.运行View并回传结果

如果返回的是ViewResult,则通过接口IViewEngine的FindView获取webForm还是Razor,再调用获取的webFrom或Razor实例对象的Render响应HTML到客户端

posted @ 2017-08-22 14:42  青春已逝  阅读(134)  评论(0编辑  收藏  举报