我們在上節講了使用ISAPI是一種重要的技術,可以讓我們擴展服務器的功能,有兩個手段實現,一個是ISAPI擴展,一個是ISAPI過濾器,我們下面就來說說其中的這個ISAPI擴展。
一:HttpHandler
HttpHandler實現了ISAPI Extention的功能,HttpHandler它處理請求(Request)和發送響應(Response),HttpHandler是HTTP處理程序,所有的HTTP請求通過HttpHandler它來處理,但是要對指定類型的,HttpHandler功能的實現通過實現IHttpHandler接口完成,
二:HttpHandler的實現
2.1 在Intent服務管理器中把文件擴展(你想要處理的文件擴展名)映射到ASP.NET ISAPI擴展dll(aspnet_isapi)上
2.2 編寫一個類,該類實現IHttpHandler接口
2.3 在web.config中註冊這個處理程序
三:HttpModule的運行機制
我們經常上網站,看到一種很奇怪的擴展名什麼.cgi,.do拉,我們也可以這麼做。
新建一種文件類型,這種文件只有我自己的程序才能認識的比如(*.cgi),對於這種文件名,我們讓HTTP處理程序單獨來處理它。
四:運行效果
五:HttpHandler它們之間的關係
HttpModule是每個都執行且不覆蓋,而HttpHandler則不同,HttpHandler有系統默認的,也有自定義的,Http請求來了以後,先判斷是否存在自定義的HttpHandler如果存在,則執行自定義的HttpHandler,不存在自定義的就執行系統默認的,