如何在 Windows 10 上为 IIS 10 启用 ISAPI DLL?
How do I enable ISAPI DLLs for IIS 10 on Windows 10?
多年来我一直为 IIS 7.x 配置 ISAPI DLL,但这是我第一次尝试使用 Windows 10,但它不起作用,而且我找不到任何如何成功地做到这一点的描述。我在 Windows 10 Professional 工作,并且安装了 IIS 和支持技术。
这是我过去所做的。首先,我打开 Internet 信息服务管理器控制台。然后我 select 默认网站并打开 Handler Mappings。我在禁用部分右键单击 ISAPI-dll,select 编辑功能权限,然后在执行旁边打勾。
由于我的ISAPI dll是32位的DLL,而我是运行ning Windows10 64位Professional,所以我select Application Pools在Connections面板,对- 单击 DefaultAppPool,然后单击 select 高级设置,然后将启用 32 位应用程序设置为 True。
最后,我打开了 ISAPI 和 CGI 限制小程序。然后我右键单击 ISAPI 和 CGI 限制窗格并 select 编辑功能设置,之后我在允许未指定的 ISAPI 模块旁边放置一个复选标记。
处理程序映射小程序不再具有禁用的 ISAPI-dll 条目。然而,随着处理程序映射小程序打开,我已经能够 select 编辑功能权限,并在执行旁边放置一个复选标记。我已经能够在默认应用程序池中允许 32 位应用程序,但是找不到 ISAPI 和 CGI 限制小程序。
最终结果是,尽管我已按上述方式成功执行了配置,但我仍然无法 运行 我的 ISAPI DLL。我已将 DLL 放置在与 Windows 7 设置相同的位置(在 c:\inetpub\wwwroot\appfolder 下),并使用相同的 URL。它 运行 在 Windows 7 中,但在 Windows 10 中没有。
如何将 Windows 10 中的 IIS 配置为 运行 这个 ISAPI DLL?
也许是个愚蠢的问题,但您确定 "CGI" 和 "ISAPI Extensions" 功能是作为 "Internet Information Services"、"World Wide Web Services"、"Application Development Features" 的一部分安装的吗?我刚刚测试过,如果没有这两个功能,您将看到处理程序映射,但没有禁用的 ISAPI-dll 条目(也没有 "ISAPI and CGI restrictions" 小程序)。
有了这些功能,我可以像在 Windows Server 2012 中一样在 Windows 10 中使用 IIS7。
(添加一些视觉效果)如果您是在本地计算机而不是 windows 服务器上执行此操作,则
控制面板 --> 程序和功能 --> 打开或关闭 windows 功能 -->
以下是我如何让它在安装了 IIS 的 Windows 10 Pro 上运行。
- 检查您是否安装了“ISAPI 扩展”功能。
- 单击该网站并 select "Handler Mappings" 并添加模块(或者如果您的情况合理,您可以启用所有模块。
- Select 从右侧窗格(操作)中的“编辑功能设置”并启用读取、脚本和执行。
- 完成上述操作后,单击左侧窗格中的“服务器”节点。
- Select“ISAPI 和 CGI 限制”
- 单击“添加”,然后输入您的 ISAPI 扩展的 windows 服务器路径名。
- Select“允许扩展路径执行”,点击确定
- 请注意,这会将 web.config 放在同一目录中。它应该看起来像这样;
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<directoryBrowse enabled="false" />
</system.webServer>
</configuration>
多年来我一直为 IIS 7.x 配置 ISAPI DLL,但这是我第一次尝试使用 Windows 10,但它不起作用,而且我找不到任何如何成功地做到这一点的描述。我在 Windows 10 Professional 工作,并且安装了 IIS 和支持技术。
这是我过去所做的。首先,我打开 Internet 信息服务管理器控制台。然后我 select 默认网站并打开 Handler Mappings。我在禁用部分右键单击 ISAPI-dll,select 编辑功能权限,然后在执行旁边打勾。
由于我的ISAPI dll是32位的DLL,而我是运行ning Windows10 64位Professional,所以我select Application Pools在Connections面板,对- 单击 DefaultAppPool,然后单击 select 高级设置,然后将启用 32 位应用程序设置为 True。
最后,我打开了 ISAPI 和 CGI 限制小程序。然后我右键单击 ISAPI 和 CGI 限制窗格并 select 编辑功能设置,之后我在允许未指定的 ISAPI 模块旁边放置一个复选标记。
处理程序映射小程序不再具有禁用的 ISAPI-dll 条目。然而,随着处理程序映射小程序打开,我已经能够 select 编辑功能权限,并在执行旁边放置一个复选标记。我已经能够在默认应用程序池中允许 32 位应用程序,但是找不到 ISAPI 和 CGI 限制小程序。
最终结果是,尽管我已按上述方式成功执行了配置,但我仍然无法 运行 我的 ISAPI DLL。我已将 DLL 放置在与 Windows 7 设置相同的位置(在 c:\inetpub\wwwroot\appfolder 下),并使用相同的 URL。它 运行 在 Windows 7 中,但在 Windows 10 中没有。
如何将 Windows 10 中的 IIS 配置为 运行 这个 ISAPI DLL?
也许是个愚蠢的问题,但您确定 "CGI" 和 "ISAPI Extensions" 功能是作为 "Internet Information Services"、"World Wide Web Services"、"Application Development Features" 的一部分安装的吗?我刚刚测试过,如果没有这两个功能,您将看到处理程序映射,但没有禁用的 ISAPI-dll 条目(也没有 "ISAPI and CGI restrictions" 小程序)。
有了这些功能,我可以像在 Windows Server 2012 中一样在 Windows 10 中使用 IIS7。
(添加一些视觉效果)如果您是在本地计算机而不是 windows 服务器上执行此操作,则 控制面板 --> 程序和功能 --> 打开或关闭 windows 功能 -->
以下是我如何让它在安装了 IIS 的 Windows 10 Pro 上运行。
- 检查您是否安装了“ISAPI 扩展”功能。
- 单击该网站并 select "Handler Mappings" 并添加模块(或者如果您的情况合理,您可以启用所有模块。
- Select 从右侧窗格(操作)中的“编辑功能设置”并启用读取、脚本和执行。
- 完成上述操作后,单击左侧窗格中的“服务器”节点。
- Select“ISAPI 和 CGI 限制”
- 单击“添加”,然后输入您的 ISAPI 扩展的 windows 服务器路径名。
- Select“允许扩展路径执行”,点击确定
- 请注意,这会将 web.config 放在同一目录中。它应该看起来像这样;
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<directoryBrowse enabled="false" />
</system.webServer>
</configuration>