前言
前面和大家分享StepManager
是如何建立管道和依序呼叫IHttpModule
註冊事件
查看原始碼好站 Reference Source
此文的程式碼比較多我會在原始碼上邊上說明相對應編號方便大家觀看
今天跟大家分享HttpAppliaction
是如何找到要執行的IHttpHandler
物件.
此篇同步發布在筆者Blog [Day07] Asp.Net重要物件HttpApplication(三) 取得執行的IHttpHandler
前面和大家分享StepManager
是如何建立管道和依序呼叫IHttpModule
註冊事件
查看原始碼好站 Reference Source
此文的程式碼比較多我會在原始碼上邊上說明相對應編號方便大家觀看
今天跟大家分享HttpAppliaction
是如何找到要執行的IHttpHandler
物件.
此篇同步發布在筆者Blog [Day07] Asp.Net重要物件HttpApplication(三) 取得執行的IHttpHandler
前面有提到InitInternal
方法,是如何載入註冊HttpModule
並呼叫Init
方法,經典模式和管道模式比較.
查看原始碼好站 Reference Source
此文的程式碼比較多我會在原始碼上邊上說明相對應編號方便大家觀看
今天跟大家介紹StepManager
是如何建立管道和依序呼叫IHttpModule
註冊事件
上一篇文章分享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
方法並掛上此標籤.
更了解這些原理可以讓我們寫程式事半功倍.
三十篇文章架構基本遵循:
前言:
前情提要,閱讀此文建議使用工具或知識.目的: 如果有兩大類模組是多對多的組合,如本次Smaple Code. Nick和Addidas 包包都有紅、藍、黃....或其他顏色
就可能呈現下面6種組合