IIS Modules - custom isapi filter 無法正常運作
IIS Modules 提供IIS Server擴充功能,無論是傳統C++開發的native module,或是.NET開發的module都可以加入IIS Server,讓IIS功能更強大。
如何管理及安裝IIS modules請參考: IIS modules
圖一, IIS Modules
當遇到自行開發的isapi filter module設定完成後,功能不如預期時,可以從兩個方面來進行問題排除:
1. module 是否有正確載入IIS worker process中?
我們可以透過下列的指令,就可以判斷自行開發的dll是否有載入
tasklist /fi "imagename eq w3wp.exe" /m
圖二, tasklist指令列出載入的module
2. 當確認dll已經載入worker process中,再來就是確認執行順序:
點選[view ordered list]
圖三, module order list
確認你的isapi filter dll是否在內建的isapiFilterModule順序之後,因為isapi filter的功能必須在isapiFilterModule 被載入後,客製化的isapi filter功能才能正常運作。
因此,只需要簡單地調整module的順序後,就可以解決此問題。
圖四, 調整module執行順序
Enjoy!