前言
要建立客製化的解析器可以實現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原始碼.
IOC依賴反轉是oop重要程式設計思想。(Ioc—Inversion of Control 控制反轉)
詳細資訊可以查看小弟另一篇文章 IOC(控制反轉),DI(依賴注入) 深入淺出~~
有沒有人會很好奇說為什麼只需要透過DependencyResolver.SetResolver方法我就可以直接使用AutoFac或其他IOC容器?
今天跟大家分享Asp.net MVC利用什麼設計技巧,讓外部IOC容器可以很方便融入系統中.
上篇得知MVC預設透過DefaultControllerFactory反射方式動態建立Controller物件
本篇會分享我們常用到Controller基礎類別和相關物件.
我有做一個可以針對於Asp.net MVC Debugger的專案,只要下中斷點就可輕易進入Asp.net MVC原始碼.
此篇同步發布在筆者Blog [Day12] 談談Controller幾個重要成員
前篇介紹MVC使用HttpHandler是MvcHandler透過並MvcRouteHandler物件來返回.
我有做一個可以針對於Asp.net MVC Debugger的專案,只要下中斷點就可輕易進入Asp.net MVC原始碼.
大家介紹如何取得Controller執行物件
前一篇介紹路由封裝了Http請求路徑資訊可以讓我們找到相對應的Action和Controller並呼叫執行外,也可透過MapPageRoute來將請求教給.aspx實體檔案來處理請求.
Route甚至可以讓我們自己客製化處理HttpHandler 在Route中建立處理客製化HttpHandler可謂很有彈性
本篇介紹Route物件建立MvcRouteHandler物件且如何取到IHttpHandler.
前面和大家分享StepManager是如何建立管道和依序呼叫IHttpModule註冊事件
查看原始碼好站 Reference Source
此文的程式碼比較多我會在原始碼上邊上說明相對應編號方便大家觀看
今天跟大家分享HttpAppliaction是如何找到要執行的IHttpHandler物件.
此篇同步發布在筆者Blog [Day07] Asp.Net重要物件HttpApplication(三) 取得執行的IHttpHandler
上一篇文章分享HttpApplicationFactory.GetApplicationInstance方法返回一個HttpApplication給HttpRuntime來呼叫使用.
今天開始介紹HttpApplication這個很重要的類別,它可謂是我們Asp.net中很複雜但重要的類別
Global.cs是繼承HttpApplication類別,但為什麼需要繼承這個類別呢? 讓我們繼續看下去.
附上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方法並掛上此標籤.
更了解這些原理可以讓我們寫程式事半功倍.