500.21模块列表中的模块“ ManagedPipelineHandler”错误


83

我收到错误消息:

HTTP错误500.21-内部服务器错误处理程序“ CloudConnectHandler”在其模块列表中包含错误的模块“ ManagedPipelineHandler”

我的web.config文件如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="CloudConnectHandler" verb="*" path="CloudConnect.aspx" type="CloudConnectHandler" resourceType="Unspecified" />
    </handlers>
  </system.webServer>
  <system.web>
    <customErrors mode="Off" />
    <compilation debug="true" targetFramework="4.0" batch="false">
      <assemblies>
        <add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
        <add assembly="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
      </assemblies>
    </compilation>
    <pages>
      <controls>
        <add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" />
      </controls>
    </pages>
        <identity impersonate="true" />
        <authentication mode="Forms" />
  </system.web>
  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
        <providerOption name="CompilerVersion" value="v4.0" />
        <providerOption name="WarnAsError" value="false" />
      </compiler>
    </compilers>
  </system.codedom>
  <appSettings>
    <add key="CloudConnectAuthorization" value="xxxx" />
    <add key="ConnectionInfo" value="xxxx" />
    <add key="ConnectionString" value="xxxx" />
    <add key="DefaultChannel" value="xxxx" />
    <add key="LoginValidationConnectionString" value="xxxx" />
  </appSettings>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="protobuf-net" publicKeyToken="257b51d87d2e4d67" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-2.0.0.640" newVersion="2.0.0.640" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

那里有很多建议,指示未正确安装asp.net。通常的解决方法是运行:

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

要么

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

我都跑了,没有任何错误。我已经重新启动了IIS,但是问题仍然存在。该站点正在使用应用程序池。应用程序池已启动,.net framework = 4.0,Managed Pipeline = Classic,Identity = LocalSystem。

我花了最后几个小时来尝试找出问题所在。我希望有人能提供帮助。

Answers:


18

尝试切换到集成模式。请参见以下线程:

IIS 7,HttpHandler和HTTP错误500.21


我将其切换为集成,这导致了另一个错误。解决此问题后,一切便开始正常运行。谢谢。
George Mastros 2014年

为此“投反对票”。我已经启用了集成模式。@Armaan回答简短但完美。
echoology'Apr 2'16

这个答案是有效的,它解决了我的问题,我使用NET 3.5并收到500.21错误。切换到集成模式解决了我的问题。
freedeveloper

185

请按照以下步骤操作:

1)以管理员身份运行命令提示符。

2)在命令提示符下键入以下两行之一:

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

要么

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

2
欢迎来到SO,感谢您的回答。由于简短,此答案已被标记为供审核。尽管您的答案在技术上可能是正确的,但可以通过添加更多文字来加以改进,说明操作员所面临的潜在问题以及答案起作用的原因。
软件工程师

8
这是更多的文字。因为它可以正常运作muhahahaha +1。我认为真正的原因是,如果您先安装4.5.1,然后再将IIS粘在它上面,就无法自动识别出正确的位置。或者我的顺序相反。无论哪种方式。这个工作对我来说
hubson bropa

这是解决方案!
alexroat 2015年

4
我正在构建新的2008 R2服务器(是的,在2015年),我先安装4.5.x,然后再安装IIS。这使我超越了许多障碍中的第一个。
bkwdesign

如果您使用的是.NET 4.5.x或4.6.x,请不要被提到4.0的答案所迷惑,并认为它不适用于您。正如我所遇到的,此问题可能与IIS之前的.NET安装顺序有关。即使我的应用程序使用的是.NET 4.5.2,运行该命令(在我的情况下为64位版本)也可以修复该问题。
Coxy

51

我在Windows Server 2012 R2的新版本上遇到此错误。已安装IIS和.NET 4.5,但未添加ASP.NET服务器角色(在我的情况下为4.5版)。确保此屏幕截图中已添加/安装了所需的ASP.NET版本,例如ASP.NET 4.5。

ASP.NET服务器角色


现在是ASP.NET 4.7(Svr 2016)
bentecko

31

为了解决这个问题,我尝试运行

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

但是,它对我没有用。我必须以管理员身份在CMD窗口中运行另一个命令行。这是命令:

dism / online /启用功能/功能名称:IIS-ASPNET45

要么

dism / online /启用功能/功能名称:IIS-ASPNET45 / all

希望它会有所帮助。


这与IIS 10.解决了这个问题对我以及对窗口10预览生成10074
肖恩McGough

3
%从一开始删除后,dism命令对我有用。所以我跑了:dism /online /enable-feature /featurename:IIS-ASPNET45 /all
Schmalls

1
适用于Windows Server 2016!非常感谢!
AdrianKsięsiarczyk17年

4

我在Windows Server 2012 R2的ASP.Net 4.5应用程序上收到此错误。

转到开始菜单->“打开或关闭Windows功能”。向导为我弹出。

单击“服务器角色”旁边的

我必须检查这些内容才能使其正常运行,位于Web服务器IIS-> Web服务器->应用程序开发(这些基于杰里米·库克的上述回答):

在此处输入图片说明

然后单击“功能”旁边,并确保选中以下内容:

在此处输入图片说明

然后单击下一步并安装。此时,错误对我来说已经消失了。祝好运!


3

这是因为IIS 7个使用HTTP处理程序从两个<system.web><httpHandlers><system.webServer><handlers>。如果您的应用程序中需要CloudConnectHandler,则应将<httpHandlers>带有此处理程序的部分添加到<system.web>

<httpHandlers>
    <add verb="*" path="CloudConnect.aspx" type="CloudConnectHandler" />
</httpHandlers>

并将preCondition属性添加到处理程序中<system.webServer>

<handlers>
  <add name="CloudConnectHandler" verb="*" path="CloudConnect.aspx" type="CloudConnectHandler" preCondition="integratedMode" />
</handlers>

希望能帮助到你


2

对我来说,在使用WebAPIPUTDELETEWebAPI时,我收到此错误消息。我也尝试按照建议重新注册.NET Framework,但无济于事。

我可以通过为单个应用程序池禁用WebDAV来解决此问题,这在使用PUT或时停止了“坏模块”错误DELETE

对单个应用程序池禁用WebDAV:

  1. 单击受影响的应用程序池
  2. WebDAV Authoring Tools在清单中寻找
  3. 点击打开
  4. 单击Disable WebDAV右上角。

这个链接是我在其中找到说明的地方,但不清楚。


1
完全是我的问题。启用WebDav时,放置和删除功能无效。感谢您分享您的发现!
ilter 2015年

2

当我需要IIS而不是IIS Express时,在Windows 10中出现了此问题。新的Web项目因OP的错误而失败。修复之前

Control Panel > Turn Windows Features on or off > Internet Information Services > World Wide Web Services > Application Development Features

勾选ASP.NET 4.7(就我而言)


0

每当我使用MSDeploy部署新网站或更新现有网站时,都会遇到此问题。

我可以通过使用MSDeploy通过以下语法卸载应用程序域来解决此问题

msdeploy.exe -verb:sync -source:recycleApp -dest:recycleApp="Default Web Site/myAppName",recycleMode=UnloadAppDomain

您也可以停止,启动或回收应用程序池-此处更多详细信息:http : //technet.microsoft.com/zh-cn/library/ee522997%28v=ws.10%29.aspx

尽管Armaan的解决方案帮助我摆脱了困扰,但并没有使问题永久消失。


0

如果是IIS 8,请转到控制面板,打开/关闭Windows功能并启用错误的“命名管道激活”,然后重新启动IIS。希望同样适用于IIS 7


-1

我发现添加角色和功能的顺序很重要。在新系统上,我激活角色“应用程序服务器”,并在那里明确检查.net,Web服务器支持并最终处理激活服务。然后自动出现一个对话框,提示还需要添加“ Web服务器”角色。


-1

如下安装.NET Framework,它也将适用于.NET 4.5版。

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir

有时只给aspnet_regiis.exe -i不工作,所以给aspnet_regiis.exe -ir上面的路径。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.