配置虚拟目录,由我构建的 isapi 扩展提供服务

配置虚拟目录,由我构建的 isapi 扩展提供服务

如何配置 Windows IIS 以将虚拟目录映射到您创建的 isapi 扩展。换句话说,我的 IIS 应该识别来自该 vd 的 URL,并且必须由我开发的 isapi 扩展进行处理。

或者说一下我的目标,我正在寻找以下内容:例如对于 asp.net 应用程序,iis 将入站请求转发到 aspnet_isapi.dll 中的某些例程,这些例程与相应的托管进程交互以完成工作(即处理请求)。在这里,我认为 iis 理解 vd(对应于入站请求)属于 asp.net 应用程序池,因此转发到 aspnet_isapi.dll

我正在尝试实现同样的事情,但是 iis 应该将请求转发到我的 isapi 扩展...

答案1

您使用的 URL 应该在 IIS 6 之前的所有版本中评估计算机上的物理 ISAPI DLL。从 IIS6 开始,配置 ISAPI 是作为应用程序完成的:更有序,但也更复杂。

我需要知道您使用的是哪个 IIS 版本,以便提供更好的评​​论。但是,也有一些非常好的 ISAPI 教程和书籍。完整阐述这个问题会相当长。

编辑

XP 上 IIS 5.1 的典型安装是:

启用脚本

  1. 打开控制面板/添加或删除程序/添加删除 Windows 组件
  2. 点击互联网信息服务/详细信息
  3. 点击全球服务/详细信息
  4. 检查脚本虚拟目录
  5. 一切顺利。

确保权限

上面创建了目录 C:\Inetpub\Scripts。现在:

  1. 将您的 dll 复制到此目录(我通常将其直接链接到那里)。
  2. 打开 IIS 管理,进入脚本目录,右键单击,然后单击属性,确保执行权限为“脚本和可执行文件”。
  3. 在 Windows 资源管理器中,确保脚本目录中的 IIS 用户帐户具有读取和执行权限 (IUSR_)。

用法

通过以下格式的 URL 使用 isapi 扩展:
http://localhost/scripts/yourdll.dll?参数

您可能想看看以下一些来源:

如何在 IIS 4.0、IIS 5.0、IIS 5.1 和 IIS 6.0 中调试 ISAPI DLL
附录 7:调试 Web 应用程序

相关内容