如何配置 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 的典型安装是:
启用脚本
- 打开控制面板/添加或删除程序/添加删除 Windows 组件
- 点击互联网信息服务/详细信息
- 点击全球服务/详细信息
- 检查脚本虚拟目录
- 一切顺利。
确保权限
上面创建了目录 C:\Inetpub\Scripts。现在:
- 将您的 dll 复制到此目录(我通常将其直接链接到那里)。
- 打开 IIS 管理,进入脚本目录,右键单击,然后单击属性,确保执行权限为“脚本和可执行文件”。
- 在 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 应用程序