1. 程式人生 > >HttpModule在IIS7整合模式下靜態資源請求可能帶來的問題

HttpModule在IIS7整合模式下靜態資源請求可能帶來的問題

眾所周知,HttpModule常用來做一些身份,許可權之類的驗證,而這些驗證都是動態請求,靜態資源的請求一般都不會進入httpmodule中來,這是因為IIS6和IIS7的經典模式中動態請求都是走託管程式碼處理,而靜態資源則直接返回到客戶端,這樣就做到了過濾靜態資源的目的,但是在IIS7預設的整合模式下,你會發現像指令碼,圖片,樣式等等靜態資源的請求也會進入httpmodule中,不管託管程式碼還是本機程式碼,都可以在身份驗證和執行處理程式被插入到核心程式碼的託管程式碼攔截,這時候如果在程式碼中直接使用了session等屬性,可能會引發異常,因為靜態資源的session永遠是null,那麼你應該在原有的基礎上加上判空語句即可。