如何解决:处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误的模块“ManagedPipelineHandler”

我正在configuration一个MVC 3项目来处理IIS的本地安装,并遇到以下500错误:

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

事实certificate,这是因为即使我在“添加function”对话框中选中该框,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 

我的问题是,是否有一种方法来安装IIS的Windows 7中使用.NET 4.0(MVC 3)没有采取这一额外的步骤?

事实certificate,这是因为即使我在“添加function”对话框中选中该框,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 

记住以pipe理员身份运行命令提示符( CTRL + SHIFT + ENTER

接受的答案是正确的,但有时你会得到“ Aspnet_regiis.exe不被识别为内部或外部命令,可操作的程序或batch file ”错误消息。

要解决它,请尝试以下操作:

  1. 确保你的.NET 4.0安装没有被破坏(运行安装程序并修复它)。 也有可能它没有安装在你的机器上。

  2. 如果您确定没有安装.NET 4.0,并且想将其作为.NET 2.0运行,请尝试以下操作 :

如果您看到消息“Aspnet_regiis.exe不被识别为内部或外部命令,可操作的程序或batch file”,请切换到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 

错误:处理程序“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

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

C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319> aspnet_regiis.exe -i Microsoft(R)ASP.NET RegIIS版本4.0.30319.33440pipe理实用程序在本地计算机上安装和卸载ASP.NET。 版权所有(C)微软公司。 版权所有。 开始安装ASP.NET(4.0.30319.33440)。 此版本的操作系统不支持此选项。 pipe理员应该使用“Turn Win dows Features On / Off”对话框,Server Managerpipe理工具或dism.e xe命令行工具来安装/卸载IIS 4.5和IIS8。 有关更多详细信息,请参阅http://go.microsoft.com/fwlin k/?LinkID = 216771。 完成安装ASP.NET(4.0.30319.33440)。

要在Windows 8.1上解决这个问题,我会build议做下面的事情。

解:

转到 – 打开或closuresWindowsfunction> Internet信息服务>万维网服务>应用程序开发function>启用ASP.NET 4.5

这应该可以解决问题。

如果您想要在不安装MVC的情况下部署MVC应用程序,则可以在您的应用程序中部署MVC DLL 。 这将解决安装MVC 3.您可以使用某些.Net 4.0命名空间中的function,而无需使用类似的方法安装.Net。

我为.Net添加了ISAPI / CGIpath4.哪个没有解决这个问题。 于是我对.Net V4(客户端和扩展)安装进行了修复。 哪个要求重启。 这为我修好了。

我也会首先检查一下:首先,应用程序池被设置为正确的框架,并且您的IIS应用程序实际上指向您放置文件的文件夹

我曾尝试在命令提示符下执行aspnet_regiis,但是我得到的答案是我没有pipe理员权限。 然后,在更多的谷歌search和寻找解决scheme之后,我试图右键单击cmd并以pipe理员身份运行。 对话出现的时候确认是的,再次运行aspnet_iisant就像魅力一样工作。 简而言之:1.在app_pool中检查.NET框架2.以pipe理员身份运行cmd 3.运行aspnet_regiis -i

我有同样的问题,我的解决scheme是:

转到“打开或closuresWindowsfunction”> Internet信息服务>万维网服务>应用程序开发function>启用ASP.NET 4.5

我有一个与Windows Server 2012类似的问题,在服务器pipe理器中安装“ Application Server ”function解决了问题。

– 使用应用程序初始化function – 由于configurationinheritance,请求错误的页面(.asp)

500.21只会在第一个用户连接上发生。 随后的连接工作。

通过更正.NET网站上的applicationInitialization url集合解决。

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

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

  2. 在Web平台安装程序安装ASP.NET 4.5 (此function有一个依赖项)。

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

C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319> aspnet_regiis.exe -i Microsoft(R)ASP.NET RegIIS版本4.0.30319.33440pipe理实用程序在本地计算机上安装和卸载ASP.NET。 版权所有(C)微软公司。 版权所有。 开始安装ASP.NET(4.0.30319.33440)。 此版本的操作系统不支持此选项 。 pipe理员应该使用“Turn Win dows Features On / Off”对话框,Server Managerpipe理工具或dism.e xe命令行工具来安装/卸载IIS 4.5和IIS8。 有关更多详细信息,请参阅http://go.microsoft.com/fwlin k/?LinkID = 216771。 完成安装ASP.NET(4.0.30319.33440)。

我有这个问题,发现删除以下文件夹帮助,即使与非Express版本。快速:

C:\Users\<user>\Documents\IISExpress

这些都没有为我工作。 所以当我比较各种应用程序池与一个没有工作的,我不得不进入应用程序池的高级设置,并设置

启用32位应用程序= true

然后它工作正常!

我有同样的问题,在我的情况处理程序是在两个地方:

 <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> 

当我从[system.webServer]中删除我的处理程序时,我的问题消失了。

在某些情况下,会出现此错误,因为ASP .NET的Microsoft .NET Framework 4.0configuration已损坏,如果在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

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

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

在这里input图像说明

当我尝试将一个应用程序池从经典转换到集成时,我的一个web服务器出现了这个问题。 它在我的其他两个Web服务器上工作得很好,而不仅仅是这个。 这是服务器2012年,所以你不能做aspnet_regiis,并没有setupcache文件夹来尝试修复。 一切都设置正确的function下。

在通过%windir%\ system32 \ inetsrv \ config \ applicationHost.config之后,我发现了一个重要的缺失位。 在我的非工作人员失踪以下两行:

  <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" /> 

一旦我join他们,一切都很好。