在以前的ASP時候
-------------------------------------
ASP
當客戶端向web服務器請求一個*
------------------------------------
當一個http請求被送入到HttpRuntime之後
當系統內部的HttpHandler的ProcessRequest方法處理完畢之後
完整的http請求在 framework中的處理流程
如果想在中途截獲一個httpRequest並做些自己的處理
----------------------------------------
系統本身的HttpModule實現一個IHttpModule的接口
系統中默認的HttpModule
DefaultAuthenticationModule 確保上下文中存在 Authentication 對象
FileAuthorizationModule 驗證遠程用戶是否具有訪問所請求文件的 NT 權限
FormsAuthenticationModule 啟用 ASP
PassportAuthenticationModule 提供環繞 PassportAuthentication 服務的包裝
SessionStateModule 為應用程序提供會話狀態服務
UrlAuthorizationModule 提供基於 URL 的授權服務以允許或拒絕對指定資源的訪問
WindowsAuthenticationModule 啟用 ASP
--------------------------------------
這些系統默認的HttpModule是在文件nfig中配置的
深入HttpModule
public class HelloWorldModule : IHttpModule
{
public HelloWorldModule()
{
}
public String ModuleName
{
get { return
}
// In the Init function
// events by adding your handlers
public void Init(HttpApplication application)
{
application
(new EventHandler(this
application
(new EventHandler(this
}
private void Application_BeginRequest(Object source
EventArgs e)
{
// Create HttpApplication and HttpContext objects to access
// request and response properties
HttpApplication application = (HttpApplication)source;
HttpContext context = application
context
HelloWorldModule: Beginning of Request
}
private void Application_EndRequest(Object source
{
HttpApplication application = (HttpApplication)source;
HttpContext context = application
context
HelloWorldModule: End of Request
}
public void Dispose()
{
}
}
一個Http請求在被ASP
上面的代碼中的HttpModule的Init()中的參數是HttpApplication類型
IHttpHandler
它是 Framework提供的一個接口
HH和HM一樣
接口中最重要的方法ProcessRequest
framework實際上並不是直接把相關頁面的HTTP請求定位到一個內部默認的IHttpHandler容器之上的
From:http://tw.wingwit.com/Article/program/net/201311/12413.html