如何修复:Handler "PageHandlerFactory-Integrated"有一个不好的模块"ManagedPipelineHandler"在其模块列表中

我正在配置一个MVC 3项目,以在IIS的本地安装上工作,遇到了以下500个错误:

处理程序"PageHandlerFactory-Integrated"有一个坏模块 "ManagedPipelineHandler"在它的模块列表中

事实证明,这是因为ASP。Net没有完全安装IIS,即使我在“添加功能”对话框中勾选了该框。为了解决这个问题,我简单地在命令提示符下运行以下命令

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

如果我使用的是32位系统,它看起来会像下面这样:

%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i

我的问题是,有没有一种方法可以在windows 7的机器上安装IIS来使用。net 4.0 (MVC 3)而不需要额外的步骤?

320803 次浏览

如果你想在不安装MVC的情况下部署MVC应用程序,你可以在应用程序中部署MVC DLL。这就绕过了安装MVC 3。您可以使用一些. net 4.0名称空间中的特性,而无需使用类似的方法安装. net。

事实证明,这是因为ASP。Net没有完全安装IIS,即使我在“添加功能”对话框中勾选了该框。为了解决这个问题,我简单地在命令提示符下运行以下命令

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

如果我使用的是32位系统,它看起来会像下面这样:

%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i

记得以管理员身份运行命令提示符(CTRL+SHIFT+ENTER)

接受的答案是正确的,但是有时您会得到“Aspnet_regiis.exe不能被识别为内部或外部命令、可操作程序或批处理文件。”错误消息。

要解决这个问题,请尝试以下方法:

  1. 确保你的。net 4.0安装没有损坏(运行安装程序并“修复”它)。也有可能它根本没有安装在你的机器上。

  2. 如果你确定你没有安装。net 4.0并且想要作为。net 2.0运行,尝试this:

如果你看到“Aspnet_regiis.exe is not recognized as an 内部或外部命令,可操作的程序或批处理文件 到 C:\Windows\ Microsoft.NET \ Framework64 \ v2.0.50727 \ Aspnet_regiis.exe - i

.在命令提示符

要解决这个问题,请尝试repair the .net framework 4,然后运行该命令

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
我添加了。net 4的ISAPI/CGI路径。这并没有解决问题。 因此,我随后对. net V4(客户端和扩展版)安装进行了修复。它要求重启。

我遇到了这个问题,发现删除以下文件夹有所帮助,即使是非express版本。表达:

# EYZ0

这些对我都没用。所以当我比较各种应用程序池时,我必须进入应用程序池的高级设置,并进行设置

启用32位应用程序= true

然后它工作得很好!

我在Windows server 2012上也有类似的问题,在服务器管理器中安装“应用程序服务器”功能修复了这个问题。

-使用应用程序初始化功能 -请求错误的页面(.asp),因为配置继承

500.21只会出现在第一个用户连接上。后续连接正常。

通过纠正。net网站上的applicationInitialization url集合来解决。

我还会检查第一个显而易见的问题:应用程序池是否设置为正确的框架,并且您的IIS应用程序实际上指向您放置文件的文件夹

要在Windows 8.1 Professional机器上修复此问题,请执行以下操作。

  1. 安装Web平台安装程序。http://www.microsoft.com/web/downloads/platform.aspx

  2. 在Web平台安装程序中安装ASP. exeNET 4.5(此特性有一个依赖项)。

如果你只是从最流行的答案中尝试前面提到的cmd提示命令,你会得到以下错误/警告消息:

Microsoft.NET < p > C: \ Windows \ \ Framework64 \ v4.0.30319 > aspnet_regiis.exe - i 微软(R) ASP。NET RegIIS版本4.0.30319.33440 管理实用程序安装和卸载ASP。NET在本地机器上。 微软公司版权所有。版权所有。 开始安装ASP。净(4.0.30319.33440)。 # EYZ0。Administr 用户应该安装/卸载ASP。NET 4.5与IIS8使用“Turn Win . NET dows功能开启/关闭”对话框,服务器管理器管理工具,或dism.e Xe命令行工具。更多详情请见http://go.microsoft.com/fwlin k / ? LinkID = 216771。 完成ASP的安装。净(4.0.30319.33440)。< / p >

我也遇到了同样的问题,我的案件处理人员在两个地方:

<system.web>
...
<httpHandlers>
<add verb="*" path="*.ashx" type="ApplicArt.Extranet2.Controller.FrontController, ApplicArt.Extranet2.Web.UI" />
</httpHandlers>
</system.web>


<system.webServer>
<handlers>
...
<add name="FrontController" verb="*" path="*.ashx" type="ApplicArt.Extranet2.Controller.FrontController, ApplicArt.Extranet2.Web.UI"/>
</handlers>
</system.webServer>

当我从[系统]中删除我的处理程序。我的问题消失了。

我已经尝试在命令提示符中执行aspnet_regiis,但我得到的答案是我没有管理权限。 然后,在更多的谷歌搜索和寻找解决方案后,我尝试右键单击cmd并以管理员身份运行它。确认是,当出现对话框时,再次运行aspnet_iis,效果很好。 简而言之: 1. 检查。net框架在app_pool 2. 以管理员身份运行CMD 3.执行命令aspnet_regiis -i

我也遇到了同样的问题,我的解决方案是:

进入“打开或关闭Windows功能”> Internet信息服务>万维网服务>应用程序开发功能>启用ASP。NET 4.5

在某些情况下,发生此错误是因为ASP . net的Microsoft . net Framework 4.0配置已被损坏,如果在Visual Studio 2010或Microsoft SQL Server 2008之前安装了Microsoft Visual Studio 2012,则可能发生此错误。

在尝试了不同的事情后,我得出结论,通过运行以下命令修复您的. net安装。欲了解更多信息,请点击链接。

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SetupCache\v4.5.51209\setup.exe /repair /x86 /x64 /ia64 /norestart

https://msdn.microsoft.com/en-us/library/hh168535(v=nav.80).aspx

处理程序“PageHandlerFactory-Integrated”在它的模块列表中有一个坏模块“ManagedPipelineHandler”

我找到了修复这个问题的文章,只需在命令提示符下运行以下命令:

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

如果系统是32位的,它应该是这样的:

%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i

但是,当我尝试使用命令提示符执行这些命令时,我得到了以下错误/警告消息:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis.exeasp.net RegIIS版本4.0.30319.33440管理实用程序安装和卸载ASP。NET在本地机器上。微软公司版权所有。版权所有。开始安装ASP。净(4.0.30319.33440)。此版本的操作系统不支持此选项。管理员应该安装/卸载ASP。NET 4.5与IIS8使用“打开/关闭windows功能”对话框,服务器管理器管理工具,或dism.exe命令行工具。更多详细信息请参见http://go.microsoft.com/fwlin k/?LinkID=216771。完成ASP的安装。净(4.0.30319.33440)。* *

要在Windows 8.1上修复这个问题,我建议做以下事情。

解决方案:

Goto:打开或关闭Windows功能->互联网信息服务->万维网服务->应用程序开发功能-> 启用ASP。NET 4.5

这应该能解决问题。

要解决这个问题,请尝试修复.net框架4,然后运行该命令

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i

enter image description here

当我试图将一个应用程序从经典切换到集成时,我在我的一个web服务器上遇到了这个问题。它在我的其他两个服务器上工作得很好,而不仅仅是这一个。它是Server 2012,所以你不能做aspnet_regiis,也没有安装缓存文件夹来尝试修复。在特征下,一切都被正确设置。

运行%windir%\system32\inetsrv\config\applicationHost。我发现了一个关键的缺失位。在我那张没有工作的表格下面,少了两行字:

        <add name="ManagedEngineV4.0_32bit" image="C:\Windows\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" />
<add name="ManagedEngineV4.0_64bit" image="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" />

一旦我添加了它们,一切都运行得很好。

  1. 运行# EYZ0

  2. Aspnet_regiis.exe拖放到命令提示符中:

    C:\Windows\Microsoft.NET\Framework64\v2.0.50727\
    
  3. type -i (for example Aspnet_regiis.exe -i)

  4. hit enter

  5. wait until the process completes

Good luck!