2011-09-06 90 views
2

ISAPI過濾器是連接到IIS Web服務器的w3wp過程的dll。 ISAPI過濾器必須強制導出兩個功能, HttpFilterProc和GetFilterVersion。我已經寫了一個這樣的過濾器,但它不能以HttpFilterProc中的開關箱未激活的方式工作。我能做些什麼來檢查這裏有什麼錯誤?如何調試ISAPI篩選器?

+0

在此處查看我的答案http://stackoverflow.com/questions/1470314/how-to-debug-isapi-using-visual-studio/10037270 – dpiskyulev

回答

1

在您的HttpFilterProc中添加對DebugBreak的調用,並在將其添加爲ISAPI過濾器之前,在調試模式下構建您的DLL。

如果你的HttpFilterProc被調用,windows會彈出一條消息來調試進程。

如果它不是你的DLL沒有得到加載。你需要檢查它爲什麼不是。一些原因可能是:

  1. 與應用程序池比特位相比,ISAPI篩選器配置了不同的比特位。
  2. 您尚未在GetFilterVersion函數中註冊任何ISAPI事件。請參閱ISAPI事件清單here