asp.net MVC 的处理流程
2015-05-19 23:01
183 查看
之前把笔记都放在空间日志中隐藏起来,今天看到这句话:作为经常从网上索取免费资料的一员,要有回报的思想,也为了让更多的人少走些弯路,想想自己不能这么自私,所以把空间日志搬到博客园来。闲话不说,直接开始。
asp.net MVC 分为主要的Controller 、Action、以及Views
下面来分析Asp.net MVC的处理流程:
Controller 负责将获取Model数据并将Model传递个View对象,通知View对象显示。
处理流程:
这其中最主要的是MvcHandler对象根据传入的RequestContext参数来获取到具体的Controller,并执行其Execute()方法
IView对象中存储的是页面的路径地址,最终通过页面引擎(View Engine)使用该路径生成具体的页面类,ViewPage(System.Web.Mvc.ViewPage)是实现了IView接口的对象。
现在MVC 3中使用的是Razor视图引擎,和WebFormViewEngine一样的处理流程
asp.net MVC 分为主要的Controller 、Action、以及Views
下面来分析Asp.net MVC的处理流程:
Controller 负责将获取Model数据并将Model传递个View对象,通知View对象显示。
处理流程:
1.用户发起请求---》UrlRouting获取请求—》MvcRouteHandler.GetHttpHandler()—>MvcHandler.ProcessRequest()
2.UrlRouting获取浏览器发起的请求
将RoutData与HttpContext合并成为RequestContext传递到IRoutHandler接口,IRoutHandler接口的实现类MvcRouteHandler接口到RequestContext参数,返回一个MvcHandler对象,并且为这个对象赋值RequestContext3.MvcHandler对象
根据RequestContext参数解析出RouteData以及HttpContext,根据RouteData来查找出Controller以及对象的Action及其Parameters4.MvcHandler .ProcessRequest()方法的处理流程
MvcHandler对象根据工厂方法获取到具体的Controller---->Controller.Execute()--->释放Controller对象这其中最主要的是MvcHandler对象根据传入的RequestContext参数来获取到具体的Controller,并执行其Execute()方法
5.Controller.Execute()方法处理流程 查找Action
获取Action--->调用ActionResult(Abstract方法)的ActionResult.ExecuteResult()方法6.ActionResult.ExecuteResult()方法
获取到IView对象,--》根据Iview对象的页面路径获取到具体的Page,--->调用IView.RenderView()方法显示页面IView对象中存储的是页面的路径地址,最终通过页面引擎(View Engine)使用该路径生成具体的页面类,ViewPage(System.Web.Mvc.ViewPage)是实现了IView接口的对象。
7,最终页面就可以正确的显示。
ViewPage.RenderPartialView() 显示.ascx文件或者是ViewPage.RenderView() 显示.aspx文件。现在MVC 3中使用的是Razor视图引擎,和WebFormViewEngine一样的处理流程
相关文章推荐
- asp.net MVC 的处理流程
- ASP.Net请求处理机制初步探索之旅 - Part 5 ASP.Net MVC请求处理流程
- ASP.Net请求处理机制初步探索之旅 - Part 5 ASP.Net MVC请求处理流程
- ASP.NET MVC : 请求处理流程 (Request-Handling Pipeline)
- ASP_NET_MVC3_请求处理流程(2) MVC源码分析
- asp.net mvc处理流程图解
- ASP.Net请求处理机制(5)【ASP.Net MVC请求处理流程】
- asp.net mvc 处理流程
- ASP_NET_MVC3_请求处理流程(1) MVC请求入口
- asp.net mvc 请求处理流程,记录一下。
- 通过问题学习asp.net mvc局部处理流程
- ASP.NET MVC的请求处理流程
- ASP.Net请求处理机制初步探索之旅 - Part 5 ASP.Net MVC请求处理流程
- Http Request在Asp.net Page和Asp.net Mvc 的处理流程
- Asp.Net构架(Http请求处理流程)
- asp.net MVC接收前端传递的复杂json对象的简单处理方法
- Asp.Net构架(Http请求处理流程)、Asp.Net 构架(Http Handler 介绍)、Asp.Net 构架(HttpModule 介绍)
- Http 请求处理流程+Asp.Net 构架(Http Handler 介绍)
- ASP.NET 请求处理流程
- Asp.net cookie的处理流程深入分析