深入理解ASP.NET MVC(6)
摘要:系列目录Action全局观在上一篇最后,我们进行到了Action调用的“门口”:在深入研究调用过程的细节前,先有一个总体的认识是很有帮助的。InvokeAction方法大致是按照这样的顺序进行的: 查找action:MVC内部查找action的方法似乎有点复杂,涉及到一个ActionDescriptor的东西,但是原理上是通过反射,在以后的文章中会有所涉及。验证和过滤:众所...
阅读全文
深入理解ASP.NET MVC(5)
摘要:系列目录回顾系列的前4节深入剖析了ASP.NET URL路由机制,以及MVC在此基础上是如何实现Areas机制的,同时涉及到inbound和outbound很多细节部分。第2节中提到MvcRouteHandler是MVC框架的入口,这节开始,从MvcRouteHandler往下说开去。Controller的创建过程:Builder和FactoryMvcRouteHandler的实现仅仅是通过Get...
阅读全文
深入理解ASP.NET MVC(4)
摘要:系列目录DataTokens和Areas机制到目前为止Route对象只剩下DataTokens属性没有涉及,事实上这个Areas机制的核心。DataTokens实际上也是一个RouteValueDictionary,在用MapRoute方法构造在Route构造的时候,可以传一个namespaces字符串数组,这个参数会构造成Route对象的DataTokens["Namespaces"],它的值将...
阅读全文
深入理解ASP.NET MVC(3)
摘要:系列目录URL是如何通过路由表生成的(outbound) 通常我们被推荐在view设计时使用Html.ActionLink(…)产生链接,这样做的优势就是,url可以根据路由表生成。路由机制的另一个职责便是根据路由表生成url,而不是由我们手动编写。接下来深入分析一下其原理。类似Html.ActionLink的方法,最终都将通过查询路由表来生成url,跟inbound一样,路由表总是...
阅读全文
深入理解ASP.NET MVC(2)
摘要:系列目录请求是如何进入MVC框架的(inbound)当一个URL请求到来时,系统调用一个注册的IHttpModules:UrlRoutingModule,它将完成如下工作:一、在RouteTable.Route中从第一个Route开始查找第一个匹配当前URL的Route。需要同时满足下面的条件,才能算匹配:1.URL匹配Route属性中Url的模型;2.所有{}中定义的参数都可以在请求的URL中找...
阅读全文
深入理解ASP.NET MVC(1)
摘要:系列目录 ASP.NET MVC请求的服务过程下图是书中的截图,表述了一次通常的ASP.NET MVC请求的服务过程: 从图中可以初步看出一个HttpRequest是如何被ASP.NET和ASP.NET MVC框架执行的:经过IIS和ASP.NET处理后,Core Routing会首先根据URL匹配物理路径上的文件,如果不能匹配则由核心路由模块执行路由,路由被匹配后,MvcRouteHandler...
阅读全文
深入理解ASP.NET MVC(目录)
摘要:系列前言学ASP.NET MVC2有一段时间了,也针对性的做了个练习。感觉这个框架还是不错的,所以决定要深入系统的学习一下。看到这样一本书:作者博客:http://blog.stevensanderson.com/csdn下载地址(免积分)我不得不说这本书写的很好,尤其是通俗的语句和循序渐进的风格,很容易吸引读者往下看,引导读者一步步理解讲述的内容。书中既有适合初学者练习的例子,也有让有一定基础的读者深入学习的章节。目前我还在读这本书。由于书中所讲述的内容还是比较多的(700页),所以我打算在博客上写个系列的读书笔记,以加深自己的理解,并分享经验。另外这个系列大部分的内容是讨论ASP.NET
阅读全文