iis5和iis6.0下面,把iis的管道和asp.net管道進行了隔離,帶來了一些侷限和不足。
比如:
1.iis和asp.net之間有一些相同的操作。比如:身份認證。
2.動態文件和靜態文件的處理不一致:
3.iis難以擴展。對iis的擴展基本上是要自定義isapi。isapi是基於win32的非託管的aip。
如果發現硬盤上有相匹配的文件,直接返回給iis。這時候,後面的asp.net管道中的事件還沒有觸發。
在使用httpmodule來處理身份驗證和權限判斷時,可以在httpmodule中註冊一個事件。這個事件在處理非靜態文件時纔會發生。或者註冊一個靜態和動態都會發生的事件。如果是靜態文件(根據後綴來判斷),就直接返回。