系統性整理 ASP.NET MVC 內部運作機制,涵蓋八大核心子系統,適合深度理解框架原理與擴展點。
一、ASP.NET + MVC 基礎
- IIS 與 ASP.NET 管線整合
- MVC、MVP、Model 2 比較 (上/下篇)
- ASP.NET MVC 運行系列:偽 MVC 架構、URL 路由、Controller 啟用、Action 執行
二、URL 路由系統
- URL 與實體檔案分離
- 路由對應、依規則產生 URL
- MVC 路由擴展:對應、連結產生
- HttpHandler 動態對應實現原理
- 透過路由實現多語言支援
三、Controller 啟用系統
四、Model 中繼資料提供
- 初識 Model 中繼資料、自訂中繼資料
- IMetadataAware 介面
- Model 模板:預定義模板、取得與執行策略、引入 ListControl
- 中繼資料提供機制實現
五、Model 繫結系統
- 三大描述物件:ControllerDescriptor、ActionDescriptor、ParameterDescriptor
| 建立機制 |
| 值提供系統:NameValueCollectionValueProvider、DictionaryValueProvider、ValueProviderFactory |
| ModelBinder 及提供機制 |
| 實例模擬:簡單/複雜型別、陣列、集合/字典繫結 |
六、Model 驗證系統
- 核心:ModelValidator、ModelValidatorProvider、ModelValidatorProviders
- DataAnnotations 整合:ValidationAttribute、DataAnnotationsModelValidator、Provider
- 參數驗證、一模型多規則
- 客戶端驗證:jQuery 整合、自訂驗證
七、Action 執行與過濾器
- 非同步 Action 定義與執行原理
- 五種同步/非同步區別 (上/下篇)
- 過濾器深度探討、五種 AuthorizationFilter
- ActionFilter 執行機制
- EntLib 整合自動化例外處理 (實例/實現篇)
八、視圖呈現系統
- ActionResult 本質:EmptyResult/ContentResult、FileResult、JavaScriptResult/JsonResult、HttpStatusCodeResult/RedirectResult
- View 呈現機制 (設計/實例篇)
- Razor 引擎:編譯原理、RazorView、IoC 應用、RazorViewEngine
此導覽對應完整技術部落格系列,每項均為深度技術解析文章。