前言
这段时间好好学习了Asp.net MVC,把学习的做个笔记,也和大家分享下。我主要是看看赵哥的MSDN视频与博客,和近期苏鹏老师的视频,当然还有园子里面的优秀文章,推荐大家去mvc的专题,你也可以去51aspx codeproject找些源码来研究研究,不过已经有热心的朋友给我们列出了开源的mvc项目了。如果你对Asp.net 与WebForm的关系不够熟悉,你可以看看这篇文章,正确认识WebForm与Asp.NET MVC,对于mvc 与三层架构的区别,很经典的一个图片如下:
我认为MVC中的Model不仅经包含BLL,还应当包含DAL.
一个简单的Asp.net MVC项目
略.
Asp.net MVC 工作过程
也可以看看这个图片
这边我们想知道一个Url 如何来到Controller,了解下这几篇文章
3.从零开始学习 ASP.NET MVC 1.0 (三) Controller/Action 深入解析与应用实例
我们知道了 Asp.net MVC 生命周期其实包含如下过程:
1)RouteTable创建
这个在Application_Start()就执行了。
2)UrlRoutingModule拦截
这个在WebConfig的注册。
3)routing engine 确定Route
这个时候知道Controller及Action的名称 .
4)route Handler 创建IHttpHandler
5)执行MvcHandler
通过实现IControllerFactory 工厂 创建一个Controller
6)执行controller
7)执行controller的Action方法
这个时候Action方法可以为Void 或者ActionResult,
如果为void 直接返回html给客户端.
如果为ActionResult,则通过View返回信息,继续8).
8)视图引擎创建
视图引擎实例会创建一个IView接口实例,返回一个ViewEngineResult实例
9)视图呈现
IView实例编译请求视图,提供Render方法调用的数据,返回给客户端.
如果你对Asp.net MVC的生命周期还是比较迷茫,你可以看看Asp.net 管道这方面的知识.
这篇就写这么多了.