我正在配置一个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)而不需要额外的步骤?


当前回答

事实证明,这是因为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)

其他回答

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

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

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

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

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

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

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

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

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