注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)程序設(shè)計(jì)綜合ASP.NET MVC 5框架揭秘

ASP.NET MVC 5框架揭秘

ASP.NET MVC 5框架揭秘

定 價(jià):¥99.00

作 者: 蔣金楠 著
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 編程語言與程序設(shè)計(jì) 計(jì)算機(jī)與互聯(lián)網(wǎng)

ISBN: 9787121237812 出版時(shí)間: 2014-08-01 包裝: 平裝
開本: 16開 頁數(shù): 656 字?jǐn)?shù):  

內(nèi)容簡介

  本書以一個(gè)模擬ASP.NET MVC內(nèi)部運(yùn)行機(jī)制的“迷你版MVC框架”作為開篇,其目的在于將ASP.NET MVC真實(shí)架構(gòu)的“全景”勾勒出來。接下來本書以請求消息在ASP.NET MVC框架內(nèi)部的流向?yàn)橹骶€將相關(guān)的知識點(diǎn)串連起來,力求將”黑盒式”的消息處理管道清晰透明地展示在讀者面前。相信精讀本書的讀者一定能夠?qū)SP.NET MVC從接收請求到響應(yīng)回復(fù)的整個(gè)流程了然于胸,對包括路由、Controller的激活、Model元數(shù)據(jù)的解析、Action方法的選擇與執(zhí)行、參數(shù)的綁定與驗(yàn)證、過濾器的執(zhí)行以及View的呈現(xiàn)等相關(guān)的機(jī)制具有深刻的理解。本書以實(shí)例演示的方式介紹了很多與ASP.NET MVC相關(guān)的最佳實(shí)踐,同時(shí)還提供了一系列實(shí)用性的擴(kuò)展,相信它們一定能夠解決你在真實(shí)開發(fā)過程中遇到的很多問題。本書最后一章提供的案例不僅僅用于演示實(shí)踐中的ASP.NET MVC,很多的架構(gòu)設(shè)計(jì)方面的東西也包含其中。除此之外,本書在很多章節(jié)還從設(shè)計(jì)的角度對ASP.NET MVC的架構(gòu)進(jìn)行了深入分析,所以從某種意義上講本書可以當(dāng)成一本架構(gòu)設(shè)計(jì)的書來讀。

作者簡介

  2007.11-現(xiàn)在:新電信息(蘇州)科技有限公司 任高級軟件工程師2007.09-2007.10:杰峰計(jì)算機(jī)科技有限公司 派駐微軟(中國)企業(yè)服務(wù)部任高級軟件工程師2006.09-2007.07:文思創(chuàng)新科技有限公司 派駐微軟MSN 軟件開發(fā)工程師2004.07-2006.08:新電信息(蘇州)科技有限公司 任軟件工程師

圖書目錄

第1章 ASP.NET + MVC 1
1.1 傳統(tǒng)MVC模式 2
1.1.1 自治視圖 2
1.1.2 什么是MVC模式 3
1.2 MVC的變體 4
1.2.1 MVP 5
1.2.2 Model 2 13
1.2.3 ASP.NET MVC與Model 2 15
1.3 IIS/ASP.NET管道 15
1.3.1 IIS 5.x與ASP.NET 16
1.3.2 IIS 6.0與ASP.NET 17
1.3.3 IIS 7.0與ASP.NET 19
1.3.4 ASP.NET集成 20
1.3.5 ASP.NET管道 22
1.4 ASP.NET MVC是如何運(yùn)行的 28
1.4.1 建立在“迷你版”ASP.NET MVC上的Web應(yīng)用 28
1.4.2 路由 31
1.4.3 Controller的激活 37
1.4.4 Action的執(zhí)行 41
1.4.5 完整的流程 49
第2章 路由 51
2.1 ASP.NET路由 52
2.1.1 請求URL與物理文件的分離 52
2.1.2 實(shí)例演示:通過路由實(shí)現(xiàn)請求地址與.a(chǎn)spx頁面的映射(S201) 53
2.1.3 Route與RouteTable 57
2.1.4 路由注冊 65
2.1.5 根據(jù)路由規(guī)則生成URL 77
2.2 ASP.NET MVC路由 79
2.2.1 路由映射 79
2.2.2 路由注冊(S210) 80
2.2.3 缺省URL參數(shù) 83
2.2.4 基于Area的路由映射 85
2.2.5 鏈接和URL的生成 91
2.3 動態(tài)HttpHandler映射 98
2.3.1 UrlRoutingModule 99
2.3.2 PageRouteHandler與MvcRouteHandler 100
2.3.3 ASP.NET路由系統(tǒng)擴(kuò)展 101
2.3.4 實(shí)例演示:通過自定義Route對ASP.NET路由系統(tǒng)進(jìn)行擴(kuò)展
(S214) 102
第3章 Controller的激活 107
3.1 Controller激活系統(tǒng)全景展示 108
3.1.1 Controller 108
3.1.2 ControllerFactory 114
3.1.3 ControllerBuilder 115
3.1.4 Controller的激活與路由 122
3.2 Controller默認(rèn)激活機(jī)制 125
3.2.1 Controller類型的解析 125
3.2.2 Controller類型的緩存 130
3.2.3 Controller的釋放和會話狀態(tài)行為的控制 131
3.3 IoC的應(yīng)用 133
3.3.1 從Unity來認(rèn)識IoC 133
3.3.2 Controller與Model的解耦 135
3.3.3 基于IoC的ControllerFactory 137
3.3.4 基于IoC的ControllerActivator 143
3.3.5 基于IoC的DependencyResolver 145
第4章 Model元數(shù)據(jù)的解析 149
4.1 Model元數(shù)據(jù) 150
4.1.1 Model元數(shù)據(jù)層次化結(jié)構(gòu) 150
4.1.2 Model元數(shù)據(jù)的定制 154
4.1.3 IMetadataAware接口 171
4.2 模板化數(shù)據(jù)的呈現(xiàn) 176
4.2.1 實(shí)例演示:通過模板將布爾值顯示為RadioButton(S409) 176
4.2.2 預(yù)定義模板 178
4.2.3 針對數(shù)據(jù)類型的模板 185
4.2.4 數(shù)據(jù)類型名稱 V.S. 模板名稱 189
4.2.5 模板的獲取與執(zhí)行 193
4.2.6 實(shí)例演示:通過定制Model元數(shù)據(jù)和自定義模板 實(shí)現(xiàn)預(yù)定義列表的
呈現(xiàn)(S412) 197
4.3 Model元數(shù)據(jù)的提供機(jī)制 205
4.3.1 再談ModelMetadata 206
4.3.2 ModelMetadataProvider 210
4.3.3 Model元數(shù)據(jù)提供系統(tǒng)的擴(kuò)展 214
第5章 3個(gè)描述對象 217
5.1 ControllerDescriptor 218
5.1.1 ReflectedControllerDescriptor 219
5.1.2 ReflectedAsyncControllerDescriptor 228
5.2 ActionDescriptor 229
5.2.1 AsyncActionDescriptor 230
5.2.2 ReflectedActionDescriptor 231
5.2.3 ReflectedAsyncActionDescriptor 232
5.2.4 TaskAsyncActionDescriptor 233
5.3 ParameterDescriptor 234
第6章 Model的綁定(上篇) 236
6.1 源數(shù)據(jù)的提供 237
6.1.1 NameValueCollectionValueProvider 238
6.1.2 DictionaryValueProvider 246
6.1.3 ValueProviderFactory 254
6.1.4 ValueProviderFactories 255
6.2 ModelBinder及其提供策略 259
6.2.1 ModelBinder 259
6.2.2 ModelBinderProvider 265
6.2.3 ModelBinders 268
6.2.4 CustomModelBinderAttribute 271
6.2.5 針對參數(shù)的ModelBinder是如何創(chuàng)建的 274
6.3 Model綁定的實(shí)施 276
6.3.1 綁定上下文的初始化 277
6.3.2 綁定過程中對ModelState的設(shè)置 279
第7章 Model的綁定(下篇) 283
7.1 綁定簡單對象 284
7.1.1 利用ValueProvider綁定簡單對象 284
7.1.2 實(shí)例演示:利用MyDefaultModelBinder綁定簡單類型參數(shù)(S701) 286
7.2 綁定復(fù)雜對象 289
7.2.1 復(fù)雜對象層次化結(jié)構(gòu) 289
7.2.2 遞歸式綁定 291
7.2.3 實(shí)例演示:利用MyDefaultModelBinder綁定復(fù)雜類型參數(shù)
(S702、S703) 294
7.3 綁定集合 297
7.3.1 針對同名數(shù)據(jù)項(xiàng)的集合綁定 297
7.3.2 針對索引的集合綁定 302
7.4 綁定字典 311
7.4.1 字典是一個(gè)復(fù)雜類型的集合 311
7.4.2 針對字典類型的Model綁定策略 312
7.4.3 實(shí)例演示:利用MyDefaultModelBinder綁定字典類型參數(shù)(S707) 316
第8章 Model的驗(yàn)證(上篇) 318
8.1 幾種參數(shù)驗(yàn)證方式 319
8.1.1 ModelError 319
8.1.2 驗(yàn)證消息的呈現(xiàn) 320
8.1.3 手工驗(yàn)證綁定的參數(shù) 322
8.1.4 使用ValidationAttribute特性 327
8.1.5 讓數(shù)據(jù)類型實(shí)現(xiàn)IValidatableObject接口 330
8.1.6 讓數(shù)據(jù)類型實(shí)現(xiàn)IDataErrorInfo接口 332
8.2 ModelValidator及其提供策略 334
8.2.1 ModelValidator與ModelValidatorProvider 334
8.2.2 DataAnnotationsModelValidator 337
8.2.3 ValidatableObjectAdapter 337
8.2.4 DataErrorInfoModelValidator 338
8.2.5 ClientModelValidator 339
8.2.6 CompositeModelValidator 341
8.3 Model驗(yàn)證的實(shí)施 345
8.3.1 Model綁定過程中的驗(yàn)證 346
8.3.2 實(shí)例演示:模擬Model綁定中的驗(yàn)證(S810) 347
8.3.3 針對“必需”數(shù)據(jù)成員的驗(yàn)證 351
第9章 Model的驗(yàn)證(下篇) 354
9.1 ValidationAttribute特性 355
9.1.1 數(shù)據(jù)是如何被驗(yàn)證的 356
9.1.2 幾個(gè)常用的ValidationAttribute 358
9.1.3 應(yīng)用ValidationAttribute特性的唯一性 360
9.2 DataAnnotationsModelValidator及其提供策略 364
9.2.1 “適配”型DataAnnotationsModelValidator 365
9.2.2 DataAnnotationsModelValidatorProvider 368
9.2.3 將ValidationAttribute特性應(yīng)用到參數(shù)上 375
9.2.4 一種Model類型,多種驗(yàn)證規(guī)則 382
9.3 客戶端驗(yàn)證 389
9.3.1 jQuery驗(yàn)證 390
9.3.2 基于jQuery的Model驗(yàn)證 394
9.3.3 自定義驗(yàn)證 398
第10章 Action方法的執(zhí)行 402
10.1 異步Action的定義 403
10.1.1 基于線程池的請求處理機(jī)制 403
10.1.2 兩種異步Action方法的定義 404
10.1.3 AsyncManager 406
10.2 各種同步與異步組件 412
10.2.1 MvcHandler 412
10.2.2 Controller 413
10.2.3 ActionInvoker 414
10.2.4 ControllerDescriptor 420
10.2.5 ActionDescriptor 423
10.3 目標(biāo)方法的執(zhí)行 430
10.3.1 Action方法并不以“反射”方式執(zhí)行 430
10.3.2 實(shí)例演示:采用針對表達(dá)式樹執(zhí)行Action方法(S1010) 432
第11章 View的呈現(xiàn) 437
11.1 ActionResult 438
11.1.1 EmptyResult 438
11.1.2 ContentResult 439
11.1.3 FileResult 446
11.1.4 JavaScriptResult 451
11.1.5 JsonResult 455
11.1.6 HttpStatusCodeResult 457
11.1.7 RedirectResult/RedirectToRouteResult 458
11.2 ViewResult與ViewEngine 461
11.2.1 View引擎中的View 461
11.2.2 ViewEngine 463
11.2.3 ViewResult的執(zhí)行 465
11.3 Razor引擎 474
11.3.1 View的編譯原理 475
11.3.2 WebViewPage與WebViewPage<TModel> 480
11.3.3 RazorView 485
11.3.4 RazorViewEngine 495
第12章 過濾器 499
12.1 Filter及其提供機(jī)制 500
12.1.1 Filter與FilterProvider 500
12.1.2 以特性方式注冊過濾器 502
12.1.3 Controller本身就是過濾器 504
12.1.4 過濾器的全局注冊 504
12.1.5 實(shí)例演示:驗(yàn)證Filter的提供機(jī)制和執(zhí)行順序
(S1201,S1202,S1203) 506
12.2 AuthenticationFilter 511
12.2.1 AuthenticationFilter的執(zhí)行流程 512
12.2.2 實(shí)例演示:通過自定義AuthenticationFilter實(shí)現(xiàn)Basic認(rèn)證(S1204) 513
12.3 AuthorizationFilter 518
12.3.1 AuthorizeAttribute 518
12.3.2 RequireHttpsAttribute 520
12.3.3 ValidateInputAttribute 520
12.3.4 ValidateAntiForgeryTokenAttribute 523
12.3.5 ChildActionOnlyAttribute 527
12.4 ActionFilter 528
12.4.1 ActionFilter的執(zhí)行流程 529
12.4.2 ActionFilter對ActionResult的設(shè)置 530
12.4.3 異常處理 532
12.5 ExceptionFilter 534
12.5.1 HandleErrorAttribute 535
12.5.2 實(shí)例演示:利用自定義的ExceptionFilter集成Enterprise Library進(jìn)行
異常處理(S1207, S1208, S1209) 537
12.6 ResultFilter與OverrideFilter 551
12.6.1 ResultFilter的執(zhí)行流程 552
12.6.2 屏蔽外圍過濾器 553
第13章 特性路由 556
13.1 特性路由注冊 557
13.1.1 RouteInfoProvider特性 557
13.1.2 基本路由映射 558
13.1.3 讓路由模板能夠盡可能反映資源的層次結(jié)構(gòu) 559
13.1.4 為路由變量設(shè)置約束 560
13.1.5 缺省路由變量 561
13.1.6 設(shè)置模板前綴 562
13.1.7 設(shè)置Area名稱 563
13.2 約束表達(dá)式的解析 564
13.2.1 RangeRouteConstraint 565
13.2.2 InlineConstraintResolver 566
13.2.3 自定義約束 570
13.3 Route的創(chuàng)建 574
13.3.1 特性路由注冊的Route對象 574
13.3.2 Route的生成機(jī)制 579
13.3.3 Controller的激活與Action方法的選擇 579
第14章 案例實(shí)踐 581
14.1 功能簡介 582
14.1.1 商品列表的呈現(xiàn) 582
14.1.2 訂購商品 584
14.1.3 登錄與錯(cuò)誤頁面 585
14.2 設(shè)計(jì)概述 586
14.2.1 Controller-Service-Repository 586
14.2.2 IoC的應(yīng)用 591
14.2.3 AOP的應(yīng)用 594
14.2.4 異常處理 601
14.3 編程實(shí)現(xiàn) 602
14.3.1 數(shù)據(jù)表的創(chuàng)建 603
14.3.2 Repository 604
14.3.3 Service 609
14.3.4 路由注冊和布局 612
14.3.5 ProductController 616
14.3.6 OrderController 624
14.3.7 AccountController 630
附錄A 實(shí)例列表 635

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號