前言
要建立客製化的解析器可以實現IDependencyResolver介面並使用DependencyResolver.SetResolver替換DefaultDependencyResolver預設解析器
DependencyResolver,Controller和ControllerFactory關係如下圖

我有做一個可以針對於Asp.net MVC Debugger的專案,只要下中斷點就可輕易進入Asp.net MVC原始碼.
要建立客製化的解析器可以實現IDependencyResolver介面並使用DependencyResolver.SetResolver替換DefaultDependencyResolver預設解析器
DependencyResolver,Controller和ControllerFactory關係如下圖

我有做一個可以針對於Asp.net MVC Debugger的專案,只要下中斷點就可輕易進入Asp.net MVC原始碼.
附上Asp.net執行請求流程圖.

在前一篇我們說到HttpRunTime會透過GetApplicationInstance來取得一個IHttpHandler對象.
今天跟著原始碼來了解到底回傳一個什麼IHttpHandler物件給HttpRunTime使用.
查看原始碼好站 Reference Source
上一篇我們介紹HttpModule & HttpHandler對於
今天正式進入.Net CLR處理Http請求的世界.
先附上Asp.net執行請求流程圖.

現在開始講解藍色區塊.
查看原始碼好站 Reference Source
上一篇文章我們有說 Asp.net 有兩個核心組件 IHttpMoudle & IHttphandler
Asp.net 是一個pipeline的模型,理解這些管道除了可以讓我們節省許多不必要的資源浪費也可讓我們程式架構更加有條理.
就像我們在Asp.net MVC如果要寫權限驗證程式碼,雖然可以寫在Controller的Action中
但更好做法是我可以寫一個類別繼承AuthorizeAttribute並override OnAuthorization方法並掛上此標籤.
更了解這些原理可以讓我們寫程式事半功倍.
三十篇文章架構基本遵循:
前言:前情提要,閱讀此文建議使用工具或知識.