处理程序"PageHandlerFactory-ISAPI-4.0_32bit"在其模块列表中具有一个坏模块"IsapiModule"。

19

我在32位计算机上使用经典应用程序池时遇到了以下错误:

     Handler "PageHandlerFactory-ISAPI-4.0_32bit" has a bad module "IsapiModule" in its module list.

在64位机器上,"PageHandlerFactory-ISAPI-4.0_64bit"句柄在其模块列表中有一个错误的模块"IsapiModule"。

如果我们在webservices中安装isapi和cgi,则不会出现此错误。是否有可能在经典应用程序池中运行我的程序而无需安装它们?我的下一个问题是如何识别已安装isapi和cgi的限制。是否存在任何注册表检查或其他检查。

提前感谢。


这也可能发生在其他处理程序上,例如我曾经遇到过这个错误:“SimpleHandlerFactory-ISAPI-4.0_32bit”有一个坏模块“IsapiModule”。 - Grokodile
4个回答

39

上面的回答对我有所帮助,但需要一些额外的步骤,这里是我必须执行的完整过程。

前往控制面板 -> 程序和功能 -> 打开或关闭Windows功能。确保您选择了以下内容:

打开或关闭Windows功能




接下来,刷新IIS管理器。现在您应该会在IIS的特性根层级中看到ISAPI和CGI限制点击两个版本的.NET v4.0的Allow

ISAPI和CGI限制


感谢您的代码。在此之前,我们已经在IIS中安装了ASP.NET 4.0。打开Visual Studio命令提示符(以管理员身份运行),输入以下命令:C:\Windows\Microsoft.NET\Framework\v4.0.30319> aspnet_regiis.exe -i - muthukumar
这是针对在IIS 7.5中托管Visual Studio 4.5应用程序的解决方案。 - muthukumar
成功了!只是我不得不关闭并重新打开IIS 7.5才能显示“ISAPI和CGI限制”,因为刷新无效。 - alexbrina

9

你是否已经在程序和功能中启用了IIS的ASP.NET功能?请检查以下步骤:程序和功能 -> 打开或关闭Windows功能 -> Internet信息服务 -> 万维网服务 -> 应用程序开发功能 -> ASP.NET!


我曾经遇到过同样的问题,而这个答案解决了这个问题。 - DMC

2

补充一点:如果机器上有多个框架,请使用“aspnet_regiis -i”在IIS中安装框架,这是.NET框架的主目录(例如,在我的机器上,它是C:\Windows\Microsoft.NET\Framework\v4.0.30319)。


1

我在一台2016服务器上遇到了这个问题。在自己花费数小时尝试解决后,我找到了一个答案,只用了1分钟就解决了我的问题。 https://forums.iis.net/t/1149768.aspx

从该页面中有效的步骤如下: 1. 备份 IIS。 2. 打开 IIS。 3. 点击左侧树形结构顶部的服务器模块节点并选择“模块”。 4. 右键单击 DynamicCompressionModule 并选择“解锁”。 5. 右键单击 StaticCompressionModule 并选择“解锁”。 6. 打开所需网站 -> 打开模块。 7. 右键单击 DynamicCompressionModules 并选择“移除”。 8. 右键单击 StaticCompressionModule 并选择“移除”。 9. 运行 IISRESET。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接