关于asp.net mvc:如何解决:Handler“PageHandlerFactory-Integrated”在其模块列表中有一个错误的模块“ManagedPipelineHandler”

How to fix: Handler “PageHandlerFactory-Integrated” has a bad module “ManagedPipelineHandler” in its module list

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

0

事实证明,这是因为ASP.NET没有与IIS一起完全安装,即使我在"添加功能"对话框中选中了该框。为了解决这个问题,我只需在命令提示下运行以下命令

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

如果我使用的是32位系统,它看起来应该如下所示:

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

我的问题是,是否有一种方法可以在Windows7设备上安装IIS,以便在不执行此额外步骤的情况下使用.NET 4.0(MVC 3)?


事实证明,这是因为ASP.NET没有与IIS一起完全安装,即使我在"添加功能"对话框中选中了该框。为了解决这个问题,我只需在命令提示下运行以下命令

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

如果我使用的是32位系统,它看起来应该如下所示:

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

以管理员身份运行命令提示符(ctrl+shift+enter)


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

要解决此问题,请尝试以下操作:

  • 确保.NET 4.0安装未损坏(运行安装程序并"修复")。也有可能它根本没有安装在您的机器上。

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

  • 0


    错误:处理程序"pagehandlerFactory integrated"在其模块列表中包含错误的模块"managedPipelineHandler"。

    我找到了通过在命令提示符下运行以下命令来解决这个问题的文章。

    %windir%microsoft.netframework64v4.0.30319aspnetu regiis.exe-i

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

    %windir%microsoft.netframeworkv4.0.21006aspnetu regiis.exe-i

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

    C:windowsmicrosoft.netframework64v4.0.30319>aspnetu regiis.exe-I Microsoft(R)ASP.NET regiis 4.0.30319.33440管理实用程序,用于在本地计算机上安装和卸载ASP.NET。版权所有(c)Microsoft Corporation。版权所有。开始安装ASP.NET(4.0.30319.33440)。此版本的操作系统不支持此选项。管理员应该使用"打开/关闭Win Dows功能"对话框、服务器管理器管理工具或DISM.E XE命令行工具安装/卸载带有iis8的ASP.NET 4.5。有关详细信息,请参阅http://go.microsoft.com/fwlin k/?林奇=216771。已完成安装ASP.NET(4.0.30319.33440)。

    要在Windows8.1上修复此问题,我建议执行以下操作。

    解决方案:

    转到-打开或关闭Windows功能>Internet信息服务>万维网服务>应用程序开发功能>启用ASP.NET 4.5

    这样可以解决问题。


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

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

    我还将首先检查明显的问题:应用程序池被设置为正确的框架,并且您的IIS应用程序实际上指向您放置文件的文件夹。


    我为.NET 4添加了isapi/cgi路径。这并没有解决问题。所以我在.NET v4(客户机和扩展)安装上运行了一个修复程序。要求重新启动。这是给我修的。


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


    我也有同样的问题,我的解决方案是:

    转到"打开或关闭Windows功能">Internet信息服务>万维网服务>应用程序开发功能>启用ASP.NET 4.5


    我试过在命令提示符下执行aspnet注册,但得到的答案是我没有管理员权限。然后,在一些谷歌搜索和寻找解决方案后,我尝试右键单击cmd并以管理员身份运行它。确认是的,当对话出现时,运行aspnet再次蚂蚁的工作像一个魅力。简而言之:1。检查应用程序池中的.NET框架2。以管理员身份运行cmd三。运行aspnet-regiis-i


    要在Windows 8.1专业版计算机上修复此问题,请执行以下操作。

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

  • 在Web平台安装程序中安装ASP.NET 4.5(此功能有一个依赖项)。

  • 如果您只需从最常用的答案中尝试上述的cmd prompt命令,就会收到以下错误/警告消息:

    C:windowsmicrosoft.netframework64v4.0.30319>aspnetu regiis.exe-iMicrosoft(R)ASP.NET注册表版本4.0.30319.33440用于在本地计算机上安装和卸载ASP.NET的管理实用程序。版权所有(c)Microsoft Corporation。版权所有。开始安装ASP.NET(4.0.30319.33440)。此版本的操作系统不支持此选项。行政部门相反,Aters应该使用"turn win"安装/卸载带有iis8的ASP.NET 4.5。dows features on/off"对话框、服务器管理器管理工具或dism.eXE命令行工具。有关详细信息,请访问http://go.microsoft.com/fwlinK/?林奇=216771。已完成安装ASP.NET(4.0.30319.33440)。


    -使用应用程序初始化功能-由于配置继承而请求错误的页(.asp)

    500.21将仅在第一个用户连接上发生。后续连接工作。

    通过更正.NET网站上的ApplicationInitialization URL集合来解决。


    我在WindowsServer2012中遇到了类似的问题,在服务器管理器中安装了"应用程序服务器"功能修复了该问题。


    这些都不适合我。因此,当我将不同的应用程序池与有效的应用程序池与无效的应用程序池进行比较时,我必须进入应用程序池的高级设置,并设置

    启用32位应用程序=真

    然后它工作得很好!


    我遇到此问题,发现删除以下文件夹有助于解决问题,即使是使用非Express Edition.Express:

    C:\Users\\Documents\IISExpress


    当我试图将AppPool从Classic切换到Integrated时,我的一个Web服务器上出现了这个问题。它在我的另外两个网络服务器上运行良好,而不仅仅是这一个。它是Server2012,所以您不能执行aspnet注册,并且没有安装缓存文件夹来尝试修复。一切都在功能下设置正确。

    经过%windir%system32inetsrvconfigapplicationhost.config后,我发现一个关键的丢失位。在我的非工作状态下,缺少以下两行:

    2

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


    我也有同样的问题,在我的案例处理程序中有两个地方:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <system.web>
    ...
    <httpHandlers>
     
      </httpHandlers>
    </system.web>

    <system.webServer>
    <handlers>
       ...
     
    </handlers>
    </system.webServer>

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


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

    在尝试了不同的方法之后,我得出了结论,运行以下命令修复.NET安装。有关更多信息,请访问链接。

    1
    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,然后运行命令

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

    在此处输入图像描述