总结:HttpModule 和HttpHandler是Asp.net管道的两个重要组件.请求最终处理通过HttpHandler完成.MVC就是通过名为MvcHandler自定义HttpHandler现实对Controller的激活和Action的执行.但对c 和A名称的解析是通过Asp.net的URL路由系统完成,而整个URL路由系统是通过名为UrlRoutingModule的自定义HttpModule实现的. 第一 Asp.net路由系统 有一个针对整个Web应用的全局路由表,表中每一个路由对…
前言: Artech觉得掌握ASP.NET MVC具有三个层次. 第一层了解基本的编程模式,掌握Controller和View的定义方式,知道路由如何注册以及验证规则如何定义. 第二个层次要求我们对ASP.NET MVC框架本身从请求接收到响应回复的整个流程具有一个清晰的认识,这包括请求如何被路由.目标Controller如何被激活.Model元数据如何被解析.Action方法如何被执行,View如何呈现等. 第三层ASP.NET MVC本身是一个极具可扩展的开发框架,合理利用其扩展性可以解决很…
第一当目标controller的名称通过URL路由被解析出来后,asp.net mvc利用 ControllerBuilder 注册 ControllerFactory ,根据名称实现对目标controller的激活.释放.获取控制会话行为的SessionStateBehavior枚举.(p92 p106) 第二controller类型缓存通过本地MVCControllerTypeCache.xml文件保存在asp.net临时目录下面(p105) 第三IoC应用到controller,极大降低c…
第一Model绑定本质就是为目标Action方法生成参数列表的过程,参数数据存在于http请求.请求的 URL .消息报头或主体中. 第二aciton 参数的元数据通过 ParameterDescriptor来描述的,另外两个相关类型表示 controller和action(p184) 第三valueProvider是model数据提供者,数据来源:提交from表单.JSON字符串.当前路由数据.请求地址的查询字符串(Querystring)(p196),是一个内部数据容器,分NameValue…
概况:Action的执行不仅包含action方法的执行,还包含相关筛选器的执行. 第一基于线程池的请求,http请求称谓工作线程(p321),基于线程池优势:工作线程重用和工作线程数量的限制. 第二两种异步action方法(p322):xxxAsync/xxxCompleter 和返回类型为Task的方法. 第三action方法执行:mvcHandler 对请求处理----controller同步异步执行---actonInvoker同步异步执行(p330) 第四action方法执行前 四个筛选…
第一Model验证旨在为通过Model绑定生成参数进行检验以确保用户输入数据的有效性(p318) 第二Model验证分两种:服务器端(三种解决方案 p256)和客户端(ajax\jQuery) 第三服务端验证:ModelValidator是整个Model验证系统的核心,它的提供者是ModelValidatorProvider (P258),modelValidatorProvider是通过ModelValidatorProviders进行注册(p264) 三种解决方案分别对应三种 Provide…
总结: 第一Model元数据是针对 数据类型的一种表述信息. 第二Model元数据作用:控制数据类型本身及其成员,通过相应的特性,在view中 为绑定的数据(Model)实现模版化的html呈现. 第三ModelMetadata 对象表示model元数据具有一个树形的层次结构 第四关于view层数据展示分两种: 1.HtmlHelper 和HtmlHelper<TModel>定义了一系列模版方法,例如:Display/DisPlayFor,Editor/EditorFor 等等(p128),调…
本章要点 —  Struts 2的下载和安装 — 纯手工创建一个Web应用 — 纯手工创建一个Struts 2应用 — 实现Struts 2的Action — 配置Struts 2的Action — 在Action中访问HttpSession — 在JSP中输出Action的返回值 — 使用Struts 2的表单标签 — 程序国际化初步 — 数据校验初步 前面已经简要介绍了Struts 2的起源,以及Struts 2的两个前身:Struts 1和WebWork,并详细对比了Struts 2和St…
总结:定义在controller中的action方法一般会返回actionResult的对象对请求给予 响应.viewResult是最常见也是最重要的ActionView的一种(p411).view模版引擎的介绍razor (p423) 第一简单而又直接的请求响应类型的actionView分类(p391) 第二ViewResult具体介绍 第三Razor具体介绍…
URL 的概念及格式: URL的引入:客户端:知道了url 就可以去进行访问: 服务端:设置好了url,别人才能访问到我 URL :网址(全球统一资源定位符):由 协议,域名(ip port) ,路径,参数,锚点等组成 django路由系统: 当一个请求到来时: 1.首先到项目目录下的urls.py(URLconf 根路径配置模块),查找路由规则: 2.根URLconf模块,里面定义了 urlpatterns 变量 3.urlpatterns 是一个(django.urls.path, djan…