isapi - 如何调试 ISAPI 过滤器?

标签 isapi

ISAPI 过滤器是附加到 IIS Web 服务器的 w3wp 进程的 dll。 ISAPI 过滤器必须强制导出两个函数即。 HttpFilterProc 和 GetFilterVersion。我已经编写了一个这样的过滤器,但它无法以 HttpFilterProc 中的开关案例未被激活的方式工作。我该怎么做才能检查这里有什么问题?

最佳答案

在您的 HttpFilterProc 中添加对 DebugBreak 的调用,并在将其添加为 ISAPI 过滤器之前在 Debug模式下构建您的 DLL。

如果你的 HttpFilterProc 被调用,windows 会弹出一条消息来调试进程。

如果不是,则您的 DLL 未加载。您需要检查为什么不是。一些原因可能是:

  1. 与应用程序池位数相比,ISAPI 过滤器配置了不同的位数。
  2. 您尚未在 GetFilterVersion 函数中注册任何 ISAPI 事件。查看 ISAPI 事件列表 here .

关于isapi - 如何调试 ISAPI 过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7317272/

相关文章:

delphi - IIS Express 中的 ISAPI 扩展?

ISAPI/IIS 取消了 Tomcat 缩小

c++ - 使用 ISAPI 过滤器将 header 放入文件

delphi - 使用 Delphi ISAPI 的 SEO 友好 URL

delphi - 阻止 Delphi COM 组件显示 MessageBox()

c++ - 我如何以编程方式找出 IIS 服务器有多少资源以及每个资源的流量..等等

windows - 开始使用 WiX 的建议?

Delphi ISAPI 性能与 native 服务器

ASP.NET url MAX_PATH 限制