我正在配置一个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)而不需要额外的步骤?
要在Windows 8.1 Professional机器上修复此问题,请执行以下操作。
安装Web平台安装程序。http://www.microsoft.com/web/downloads/platform.aspx
在Web平台安装程序中安装ASP。NET 4.5(该特性有一个依赖项)。
如果你只是从最流行的答案中尝试前面提到的cmd提示命令,你会得到以下错误/警告消息:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis.exe -i
Microsoft (R) ASP.NET RegIIS version 4.0.30319.33440
Administration utility to install and uninstall ASP.NET on the local machine.
Copyright (C) Microsoft Corporation. All rights reserved.
Start installing ASP.NET (4.0.30319.33440).
This option is not supported on this version of the operating system. Administr
ators should instead install/uninstall ASP.NET 4.5 with IIS8 using the "Turn Win
dows Features On/Off" dialog, the Server Manager management tool, or the dism.e
xe command line tool. For more details please see http://go.microsoft.com/fwlin
k/?LinkID=216771.
Finished installing ASP.NET (4.0.30319.33440).
我也遇到了同样的问题,我的案件处理人员在两个地方:
<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>
当我从[系统]中删除我的处理程序。我的问题消失了。
在某些情况下,发生此错误是因为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.exe -i Microsoft (R) ASP.NET RegIIS version 4.0.30319.33440 Administration utility to install and uninstall ASP.NET on the local machine. Copyright (C) Microsoft Corporation. All rights reserved. Start installing ASP.NET (4.0.30319.33440). This option is not supported on this version of the operating system. Administr ators should instead install/uninstall ASP.NET 4.5 with IIS8 using the "Turn Win dows Features On/Off" dialog, the Server Manager management tool, or the dism.exe command line tool. For more details please see http://go.microsoft.com/fwlin k/?LinkID=216771. Finished installing ASP.NET (4.0.30319.33440).**
要在Windows 8.1上修复这个问题,我建议做以下事情。
解决方案:
Goto:打开或关闭Windows功能-> Internet Information Services -> World Wide Web Services -> Application Development features ->开启或关闭ASP。NET 4.5
这应该能解决问题。
当我试图将一个应用程序从经典切换到集成时,我在我的一个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" />
一旦我添加了它们,一切都运行得很好。