前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >How ASP.NET MVC Works?

How ASP.NET MVC Works?

作者头像
蒋金楠
发布于 2018-01-15 06:56:02
发布于 2018-01-15 06:56:02
1.5K0
举报
文章被收录于专栏:大内老A大内老A

一、ASP.NET + MVC

IIS与ASP.NET管道 MVC、MVP以及Model2[上篇] MVC、MVP以及Model2[下篇] ASP.NET MVC是如何运行的[1]: 建立在“伪”MVC框架上的Web应用 ASP.NET MVC是如何运行的[2]: URL路由 ASP.NET MVC是如何运行的[3]: Controller的激活 ASP.NET MVC是如何运行的[4]: Action的执行

二、URL 路由

ASP.NET的路由系统:URL与物理文件的分离 ASP.NET的路由系统:路由映射 ASP.NET的路由系统:根据路由规则生成URL ASP.NET MVC路由扩展:路由映射 ASP.NET MVC路由扩展:链接和URL的生成 ASP.NET路由系统实现原理:HttpHandler的动态映射 在ASP.NET MVC中通过URL路由实现对多语言的支持

三、Controller的激活

ASP.NET MVC Controller激活系统详解:总体设计 ASP.NET MVC Controller激活系统详解:默认实现 ASP.NET MVC Controller激活系统详解:IoC的应用[上篇] ASP.NET MVC Controller激活系统详解:IoC的应用[下篇]

四、Model元数据的提供

ASP.NET MVC Model元数据及其定制:初识Model元数据 ASP.NET MVC Model元数据及其定制:Model元数据的定制 ASP.NET MVC Model元数据及其定制:一个重要的接口IMetadataAware ASP.NET MVC的Model元数据与Model模板:预定义模板 ASP.NET MVC的Model元数据与Model模板:模板的获取与执行策略 ASP.NET MVC的Model元数据与Model模板:将ListControl引入ASP.NET MVC ASP.NET MVC的Model元数据提供机制的实现

五、Model的绑定

ASP.NET MVC三个重要的描述对象:ControllerDescriptor ASP.NET MVC三个重要的描述对象:ActionDescriptor ASP.NET MVC三个重要的描述对象:ControllerDescriptor与ActionDescriptor的创建机制 ASP.NET MVC三个重要的描述对象:ParameterDescriptor ASP.NET MVC以ValueProvider为核心的值提供系统: NameValueCollectionValueProvider ASP.NET MVC以ValueProvider为核心的值提供系统: DictionaryValueProvider ASP.NET MVC以ValueProvider为核心的值提供系统: ValueProviderFactory ASP.NET MVC的ModelBinder及其提供机制 通过实例模拟ASP.NET MVC的Model绑定的机制:简单类型+复杂类型 通过实例模拟ASP.NET MVC的Model绑定的机制:数组 通过实例模拟ASP.NET MVC的Model绑定的机制:集合+字典

六、Model验证

ASP.NET MVC以ModelValidator为核心的Model验证体系: ModelValidator ASP.NET MVC以ModelValidator为核心的Model验证体系: ModelValidatorProvider ASP.NET MVC以ModelValidator为核心的Model验证体系: ModelValidatorProviders ASP.NET MVC基于标注特性的Model验证:ValidationAttribute ASP.NET MVC基于标注特性的Model验证:DataAnnotationsModelValidator ASP.NET MVC基于标注特性的Model验证:DataAnnotationsModelValidatorProvider ASP.NET MVC基于标注特性的Model验证:将ValidationAttribute应用到参数上 ASP.NET MVC基于标注特性的Model验证:一个Model,多种验证规则 ASP.NET MVC的客户端验证:jQuery的验证 ASP.NET MVC的客户端验证:jQuery验证在Model验证中的实现 ASP.NET MVC的客户端验证:自定义验证

七、Action的执行

ASP.NET MVC下的异步Action的定义和执行原理 ASP.NET MVC涉及到的5个同步与异步,你是否傻傻分不清楚?[上篇] ASP.NET MVC涉及到的5个同步与异步,你是否傻傻分不清楚?[下篇] 深入探讨ASP.NET MVC的筛选器 认识ASP.NET MVC的5种AuthorizationFilter ASP.NET MVC中的ActionFilter是如何执行的? ASP.NET MVC集成EntLib实现“自动化”异常处理[实例篇] ASP.NET MVC集成EntLib实现“自动化”异常处理[实现篇]

八、View的呈现

了解ASP.NET MVC几种ActionResult的本质:EmptyResult & ContentResult 了解ASP.NET MVC几种ActionResult的本质:FileResult 了解ASP.NET MVC几种ActionResult的本质:JavaScriptResult & JsonResult 了解ASP.NET MVC几种ActionResult的本质:HttpStatusCodeResult & RedirectResult/RedirectToRouteResult ASP.NET MVC的View是如何被呈现出来的?[设计篇] ASP.NET MVC的View是如何被呈现出来的?[实例篇] ASP.NET MVC的Razor引擎:View编译原理 ASP.NET MVC的Razor引擎:RazorView ASP.NET MVC的Razor引擎:IoC在View激活过程中的应用 ASP.NET MVC的Razor引擎:RazorViewEngine

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2012-04-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ASP.NET MVC基于标注特性的Model验证:一个Model,多种验证规则
对于Model验证,理想的设计应该是场景驱动的,而不是Model(类型)驱动的,也就是对于同一个Model对象,在不同的使用场景中可能具有不同的验证规则。举个简单的例子,对于一个表示应聘者的数据对象来说,针对应聘的岗位不同,肯定对应聘者的年龄、性别、专业技能等方面有不同的要求。但是ASP.NET MVC的Model验证确是Model驱动的,因为验证规则以验证特性的形式应用到Model类型及其属性上。这样的验证方式实际上限制了Model类型在基于不同验证规则的使用场景中的重用。通过上一篇文章《将Validat
蒋金楠
2018/01/15
8120
ASP.NET MVC基于标注特性的Model验证:一个Model,多种验证规则
快速入门系列--MVC--04模型
model元数据    闲来继续学习蒋金楠大师的ASP.NET MVC框架揭秘一书,当前主要阅读的内容是Model元数据的解析,即使是阅读完的现在,仍然有不少细节不是特别明白。好在这部分内容主要是关于Razor引擎的呈现的,通过注解的方式对Model进行自定的修饰,最终使得页面在渲染时(即从cshtml文件转化为html时),相关的数据能够按照指定的形式转化并显示。由于接下来的项目中不再打算使用Razor引擎,该引擎虽然很不错,但也有一些问题,例如存在HTML5代码与HtmlHelper的混写,使得UI层
用户1216676
2018/01/24
9370
快速入门系列--MVC--04模型
ASP.NET MVC涉及到的5个同步与异步,你是否傻傻分不清楚?[上篇]
Action方法的执行具有两种基本的形式,即同步执行和异步执行,而在ASP.NETMVC的整个体系中涉及到很多同步/异步的执行方式,虽然在前面相应的文章中已经对此作了相应的介绍,为了让读者对此有一个整
蒋金楠
2018/01/15
8850
ASP.NET MVC三个重要的描述对象:ControllerDescriptor和ActionDescriptor的创建
不论是用于描述Controller的ControllerDescriptor,还是用于描述Action方法的ActionDescriptor,都具有同步和异步两个版本,那么这些不同类型的ControllerDescriptor的ActionDescriptor是在什么情况下创建的呢? 一、ControllerActionInvoker与AsyncControllerActionInvoker ControllerDescriptor的创建设计到一个重要的名为ActionInvoker的组件,顾名思义,Act
蒋金楠
2018/01/15
6610
ASP.NET MVC三个重要的描述对象:ControllerDescriptor和ActionDescriptor的创建
ASP.NET MVC基于标注特性的Model验证:将ValidationAttribute应用到参数上
ASP.NET MVC默认采用基于标准特性的Model验证机制,但是只有应用在Model类型及其属性上的ValidationAttribute才有效。如果我们能够将ValidationAttribut
蒋金楠
2018/01/15
7790
ASP.NET MVC基于标注特性的Model验证:将ValidationAttribute应用到参数上
ASP.Net请求处理机制初步探索之旅 - Part 5 ASP.Net MVC请求处理流程
开篇:上一篇我们了解了在WebForm模式下一个Page页面的生命周期,它经历了初始化Init、加载Load以及呈现Render三个重要阶段,其中构造了页面控件树,并对页面控件树进行了大量的递归操作,最后将与模板结合生成的HTML返回给了浏览器。那么,在ASP.NET MVC模式下,一个页面的生命周期又经历了哪些步凑呢?别急,本篇漫漫道来!
Edison Zhou
2018/08/20
1.1K0
ASP.Net请求处理机制初步探索之旅 - Part 5  ASP.Net MVC请求处理流程
ASP.NET MVC5 ModelBinder
ASP.NET MVC中,所有的请求最终都会到达某个Controller中的某个Action并由该Action负责具体的处理和响应。为了能够正确处理请求,Action的参数(如果有的话),必须在Action执行之前,根据相应的规则,把请求中所包含的数据提取出来并将映射为Action的参数值,这个过程就是ModelBinding。ModelBinding的作用就是为Action提供参数列表。
雪飞鸿
2018/09/05
1.4K0
ASP.NET MVC5 ModelBinder
ASP.NET MVC Controller激活系统详解:IoC的应用[上篇]
所谓控制反转(IoC: Inversion Of Control)简单地说就是应用本身不负责依赖对象的创建和维护,而交给一个外部容器来负责。这样控制权就由应用转移到了外部IoC容器,控制权就实现了所谓的反转。比如在类型A中需要使用类型B的实例,而B实例的创建并不由A来负责,而是通过外部容器来创建。通过IoC的方式是实现针对目标Controller的激活具有重要的意义。 目录 一、从Unity来认识IoC 二、Controller与Model的分离 三、 创建基于Io
蒋金楠
2018/01/15
1.8K0
ASP.NET MVC Controller激活系统详解:IoC的应用[上篇]
asp.net MVC 应用程序的生命周期
  首先我们知道http是一种无状态的请求,他的生命周期就是从客户端浏览器发出请求开始,到得到响应结束。那么MVC应用程序从发出请求到获得响应,都做了些什么呢?       本文我们会详细讨论MVC应用程序一个请求的生命周期,从一个控件到另一个控件是怎样被处理的。我们还会详细介绍一下整个请求的生命周期中,用到的相关组件。因为在平常的开发过程中,我们可能知道怎样去使用MVC框架来处理相关的请求,大部分的时候我们只是在controller和action方法之间做相关的处理,对于真正内在的运行机制可能不是很了解。
用户1172223
2018/01/26
1.9K0
ASP.NET MVC基于标注特性的Model验证:DataAnnotationsModelValidator
对于ASP.NET MVC基于标注特性的Model验证,很多人只知道应用在数据类型及其属性上用于定义验证规则和错误消息的ValidationAttribute。通过《ASP.NET MVC以ModelValidator为核心的Model验证体系: ModelValidator》的介绍,我们知道了最终用于进行Model验证的是一个叫做ModelValidator的组件。ValidationAttribute对应的ModelValidator为DataAnnotationsModelValidator,这篇简短
蒋金楠
2018/01/15
1.1K0
ASP.NET MVC基于标注特性的Model验证:DataAnnotationsModelValidatorProvider
DataAnnotationsModelValidator最终是通过它对应的ModelValidatorProvider,即DataAnnotationsModelValidatorProvider创建的。通过前面的介绍我们知道它是AssociatedValidatorProvider的子类,后者在用于获取ModelValidator的GetValidators方法中已经根据指定的Model元数据所有特性创建出来,DataAnnotationsModelValidator只需要从中筛选出继承自Valiati
蒋金楠
2018/01/15
9350
ASP.NET MVC涉及到的5个同步与异步,你是否傻傻分不清楚?[下篇]
关于ASP.NET MVC对请求的处理方式(同步或者异步)涉及到的五个组件,在《上篇》中我们谈了三个(MvcHandler、Controller和ActionInvoker),现在我们来谈余下的两个,
蒋金楠
2018/01/15
5610
ASP.NET MVC涉及到的5个同步与异步,你是否傻傻分不清楚?[下篇]
ASP.NET MVC下的四种验证编程方式[续篇]
在《ASP.NET MVC下的四种验证编程方式》一文中我们介绍了ASP.NET MVC支持的四种服务端验证的编程方式(“手工验证”、“标注ValidationAttribute特性”、“让数据类型实现IValidatableObject或者IDataErrorInfo”),那么在ASP.NET MVC框架内部是如何提供针对这四种不同编程方式的支持的呢?接下来我们就来聊聊这背后的故事。 一、ModelValidator与ModelValidatorProvider 虽然Model绑定的方式因被验证数据类型的差
蒋金楠
2018/01/15
9870
ASP.NET MVC下的四种验证编程方式[续篇]
通过扩展改善ASP.NET MVC的验证机制[使用篇]
ASP.NET MVC提供一种基于元数据的验证方式是我们可以将相应的验证特性应用到作为Model实体的类型或者属性/字段上,但是这依然具有很多的不足。在这篇文章中,我结合EntLib的VAB(Validation Application Block)的一些思想通过扩展为ASP.NET MVC提供一种更为完善的验证机制。[源代码从这里下载] 目录: 一、扩展旨在解决怎样的验证问题 二、一个简单的消息维护组件 三、多语言的支持 四、基于某个验证规则的验证
蒋金楠
2018/01/15
8240
通过扩展改善ASP.NET MVC的验证机制[使用篇]
通过实例模拟ASP.NET MVC的Model绑定机制:简单类型+复杂类型
总的来说,针对目标Action方法参数的Model绑定完全由组件ModelBinder来实现,在默认情况下使用的ModelBinder类型为DefaultModelBinder,接下来我们将按照逐层深
蒋金楠
2018/01/15
1.9K0
通过实例模拟ASP.NET MVC的Model绑定机制:简单类型+复杂类型
Asp.net mvc 知多少(二)
本系列主要翻译自《ASP.NET MVC Interview Questions and Answers 》- By Shailendra Chauhan,想看英文原版的可访问http://www.dotnettricks.com/free-ebooks自行下载。该书主要分为两部分,ASP.NET MVC 5、ASP.NET WEB API2。本书最大的特点是以面试问答的形式进行展开。通读此书,会帮助你对ASP.NET MVC有更深层次的理解。 由于个人技术水平和英文水平也是有限的,因此错误在所难免,希
圣杰
2018/01/11
2.1K0
Asp.net mvc 知多少(二)
ASP.NET MVC以ModelValidator为核心的Model验证体系: ModelValidatorProvider
在《ASP.NET MVC以ModelValidator为核心的Model验证体系: ModelValidator》中我们介绍了ASP.NET MVC用于Model验证的四种ModelValidator,那么这些ModelValidator是如何被创建的呢?ASP.NET MVC的很多组件(比如ModelBinder和Filter)都采用了基于Provider的提供机制,这篇文章为你讲述这些ModelValidator对应的ModelValidatorProvider。[本文已经同步到《How ASP.NE
蒋金楠
2022/05/09
1.4K0
ASP.NET MVC以ModelValidator为核心的Model验证体系: ModelValidator
旨在为目标Action方法的执行绑定输入参数的Model绑定过程伴随着对Model的验证。借助相应的验证特性,我们可以直接以声明的方式在Model类型上定义验证规则,这些规则将会作为Model元数据的一部分。具体在Model绑定过程中,ModelBinder通过ValueProvider为Model对象的某个属性提供相应属性值之后,会根据定义在基于该属性的Model元数据的验证规则实施验证。ASP.NET MVC的整个Model验证系统以组件ModelValidator为核心,或者说Model对象的验证最终
蒋金楠
2022/05/09
1.5K0
ASP.NET MVC三个重要的描述对象:ControllerDescriptor
ASP.NET MVC应用的请求都是针对某个Controller的某个Action方法,所以对请求的处理最终体现在对目标Action方法的执行。而Action方法具有相应的参数,所以在方法执行之前必须根据相应的规则从请求中提取相应的数据并将其转换为Action方法参数列表,我们将这个过程称为Model绑定。在ASP.NET MVC应用编程接口中,Action方法某个参数的元数据通过ParameterDescriptor表示,而两个相关的类型ControllerDescriptor和ActionDescrip
蒋金楠
2018/01/15
7090
MVC 3.0 的新特性 摘要
MVC经过其1.0和2.0版本的发展,现在已经到了3.0的领军时代,随着技术的不断改进,MVC也越来越成熟。使开发也变得简洁人性化艺术化。
Isaac Zhang
2019/09/10
2.6K0
MVC 3.0 的新特性

            摘要
推荐阅读
相关推荐
ASP.NET MVC基于标注特性的Model验证:一个Model,多种验证规则
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文