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


当前回答

我为。net 4添加了ISAPI/CGI路径。这并没有解决问题。 因此,我随后对. net V4(客户端和扩展版)安装进行了修复。它要求重启。这为我解决了问题。

其他回答

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

<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.exe不能被识别为内部或外部命令、可操作程序或批处理文件”错误消息。

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

确保你的。net 4.0安装没有损坏(运行安装程序并“修复”它)。也有可能它根本没有安装在你的机器上。 如果你确定你没有安装。net 4.0,想要以。net 2.0的方式运行,试试这个:

如果您看到“Aspnet_regiis.exe未被识别为 内部或外部命令,可操作的程序或批处理文件 到 C:\Windows\ Microsoft.NET \ Framework64 \ v2.0.50727 \ Aspnet_regiis.exe - i 在命令提示符处。

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

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

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

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

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

启用32位应用程序= true

然后它工作得很好!