理解ASP.NET MVC执行过程
2010-02-05 18:04
288 查看
向基于ASP.NET MVC的Web程序发送请求首先传递一个 UrlRoutingModule 对象,这是一个HTTP模块。这个模块解析请求并执行路由选择。 UrlRoutingModule 对象选择第一个匹配当前请求的路由对象。(路由对象是实现 RouteBase 的类,而且通常是 Route 类的一个实例。) 如果没有任何路由匹配, UrlRoutingModule 对象就啥都不做,让请求回到通常的ASP.NET或IIS请求处理中。
由选择的 Route 对象, UrlRoutingModule 对象获取由Route 分隔的 IRouteHandler 对象。在MVC程序中这通常会是一个 MvcRouteHandler的实例。 IRouteHandler 实例创建一个 IHttpHandler 对象并将它传到IHttpContext 对象。默认情况下,用于MVC的 IHttpHandler 实例是 MvcHandler 对象。 MvcHandler 对象进而选择最终处理程序的控制器。
模块与处理程序是 ASP.NET MVC 框架的入口点。它们执行以下操作:
在MVC Web程序中选择适合的控制器。
获取指定的控制器实例。
调用控制器的 Execute 方法。
下表列出了MVC Web项目执行的阶段。
原文地址:http://www.asp.net/learn/mvc/tutorial-22-cs.aspx
由选择的 Route 对象, UrlRoutingModule 对象获取由Route 分隔的 IRouteHandler 对象。在MVC程序中这通常会是一个 MvcRouteHandler的实例。 IRouteHandler 实例创建一个 IHttpHandler 对象并将它传到IHttpContext 对象。默认情况下,用于MVC的 IHttpHandler 实例是 MvcHandler 对象。 MvcHandler 对象进而选择最终处理程序的控制器。
注意: |
当ASP.NET MVC Web 程序运行在 IIS 7.0下时, MVC项目不要求文件名扩展。然而,在 IIS 6.0下,需要映射.mvc文件名扩展到ASP.NET ISAPI DLL。 |
在MVC Web程序中选择适合的控制器。
获取指定的控制器实例。
调用控制器的 Execute 方法。
下表列出了MVC Web项目执行的阶段。
|
相关文章推荐
- 2.理解ASP.NET MVC的执行过程
- [翻译:ASP.NET MVC 教程]理解MVC应用程序的执行过程
- ASP.NET MVC 教程 - 理解MVC应用程执行过程(C#)
- 通过源码了解ASP.NET MVC 几种Filter的执行过程
- ASP.NET MVC应用程序执行过程分析
- 通过源码了解ASP.NET MVC 几种Filter的执行过程
- 请示asp.net mvc应用程序的执行过程
- 通过源码了解ASP.NET MVC 几种Filter的执行过程
- ASP.NET MVC 几种 Filter 的执行过程源码解析
- 深入理解ASP.NET MVC(3)
- ASP.NET执行存储过程,并获取存储过程的返回值
- asp.net mvc 如何在执行完某任务后返回原来页面
- 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC
- ASP.NET Mvc 2.0 - 1. Areas的创建与执行
- 理解ASP.NET MVC中的ActionResult
- 理解ASP.NET MVC底层运行机制
- 【图解ASP.NET MVC运行机制理解-简易版】
- Asp.Net MVC3.0项目部署到Win7 64过程总结
- 理解ASP.NET MVC的DependencyResolver组件
- 关于ASP.NET MVC中Form Authentication与Windows Authentication的简单理解