iT邦幫忙

鐵人檔案

第 11 屆 iThome 鐵人賽
回列表
Software Development

從Asp.net框架角度進入Asp.net MVC原始碼 系列


ASP.NET運行在安裝了.NET Framework的IIS(Internet Information Services)伺服器
但IIS如何知道使用哪種動作來處理這個請求?(aspx或是mvc,wcf,webapi....)
微軟近幾年也投入Open Source行列讓我們可以更方便來窺探,Asp.net運作原理,.Net開發者越來越多人使用MVC框架來轉寫網頁專案,但否知道MVC內部是如何運作?
為什麼MVC如何對於Action和Controller提供AOP標籤撰寫程式
讓石頭慢慢和大家揭開上面的秘密吧

鐵人鍊成 | 共 30 篇文章 | 66 人訂閱 訂閱系列文 RSS系列文 團隊IT成長團
DAY 21

[Day21] Model 探討驗證標籤(ValidationAttribute)

前言 CachedDataAnnotationsMetadataAttributes這個類別攔截某些標籤可被攔截驗證. 本篇會介紹另一個可以客製化驗證Valid...

2019-10-02 ‧ 由 石頭 分享
DAY 22

[Day22] View是如何被建立(一)

前言 不知道大家有沒有點暈頭轉向XD,MVC的Model綁定機制真的蠻複雜,希望大家有跟上來 透過DefaultModelBinder的BindComplexE...

2019-10-03 ‧ 由 石頭 分享
DAY 23

[Day23] 6個基本(ActionResult) View是如何被建立(二)

前言 上一篇介紹到CreateActionResult方法會產生一個ActionResult物件利用MethodInfo資訊. 最後透過InvokeAction...

2019-10-04 ‧ 由 石頭 分享
DAY 24

[Day24] 探討ViewEngine機制 View是如何被建立(三)

前言 繼承ActiontResult類別中ViewResultBase最為複雜,因為ViewResultBase要找到實現IViewEngine物件取得取得Vi...

2019-10-05 ‧ 由 石頭 分享
DAY 25

[Day25] 動態產生程式碼(WebViewPage) View是如何被建立(四)

前言 上一篇說到最終會透過一個實現IView物件(Razor是透過RazorView)來完成,RenderView方法將BuildManagerCompiled...

2019-10-06 ‧ 由 石頭 分享
DAY 26

[Day26] 動手DIY改造 Asp.net MVC- Route解析機制

前言 UrlRoutingModule對於OnPostResolveRequestCache事件添加一個對於MVC很重要的動作,透過RouteCollectio...

2019-10-07 ‧ 由 石頭 分享
DAY 27

[Day27] 動手DIY改造 Asp.net MVC- DependencyResolver by Autofac

前言 產生Controller物件相關物件關係如下面UML圖 透過ControllerFactory建立一個Controller控制器物件.而Controll...

2019-10-08 ‧ 由 石頭 分享
DAY 28

[Day28] 動手DIY改造 Asp.net MVC- 建立自己ActionInvoker和Model綁定機制

前言 今天要分享對於ActionInvoker進行替換成自己客制化的IActionInvoker 在MVC原始碼中有個CreateActionInvoker方法...

2019-10-09 ‧ 由 石頭 分享
DAY 29

[Day29] 動手DIY改造 Asp.net MVC- 擴充在擴充,強化WebViewPage製作多國貨幣機制

前言 View頁面(razor,aspx...)都是繼承WebViewPage<TModel>頁面, 今天會帶大家寫一個範例完成透過Route判斷多...

2019-10-10 ‧ 由 石頭 分享
DAY 30

[Day30] 鐵人賽完賽&總結

完賽感想 這三十天無法對於MVC全部原始碼做詳細介紹,我盡量在這三十篇講述MVC執行過程中重要知識點,閱讀MVC原始碼真不是很簡單事情. 但閱讀完後我對於OOP...

2019-10-11 ‧ 由 石頭 分享