前言
前面介紹完 Asp.net MVC解析器和IOC容器之間關係
本篇要介紹Controller
如何去呼叫使用的Action
方法.
ExecuteCore
是ControllerBase
類別提供給Controller
來實作Hook方法.
我有做一個可以針對於Asp.net MVC Debugger的專案,只要下中斷點就可輕易進入Asp.net MVC原始碼.
前面介紹完 Asp.net MVC解析器和IOC容器之間關係
本篇要介紹Controller
如何去呼叫使用的Action
方法.
ExecuteCore
是ControllerBase
類別提供給Controller
來實作Hook方法.
我有做一個可以針對於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
.
現在開始進入Asp.net MVC原始碼世界,我們從路由開始切入一步一步進入MVC核心.
我有做一個可以針對於Asp.net MVC Debugger的專案,只要下中斷點就可輕易進入Asp.net MVC原始碼.
此篇同步發布在筆者Blog [Day09] 進入MVC原始碼世界 Route & RouteTable 原始碼解析
前面幾篇文章已經詳細分享解說Asp.net
如何透過HttpApplication
找到IHttpHandler
並執行呼叫介面方法.
今天要跟大家分享上圖的最後一塊拼圖揭密並探索Asp.net MVC
使用的IHttpHandler
.
此篇同步發布在筆者Blog [Day08] 揭密Mvc使用IHttpHandler by UrlRoutingModule-4.0
前面和大家分享StepManager
是如何建立管道和依序呼叫IHttpModule
註冊事件
查看原始碼好站 Reference Source
此文的程式碼比較多我會在原始碼上邊上說明相對應編號方便大家觀看
今天跟大家分享HttpAppliaction
是如何找到要執行的IHttpHandler
物件.
此篇同步發布在筆者Blog [Day07] Asp.Net重要物件HttpApplication(三) 取得執行的IHttpHandler
前面有提到InitInternal
方法,是如何載入註冊HttpModule
並呼叫Init
方法,經典模式和管道模式比較.
查看原始碼好站 Reference Source
此文的程式碼比較多我會在原始碼上邊上說明相對應編號方便大家觀看
今天跟大家介紹StepManager
是如何建立管道和依序呼叫IHttpModule
註冊事件