500.21模块列表中的模块"ManagedPipelineHandler"错误

G M*_*ros 80 asp.net iis-7

我收到错误:

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>
Run Code Online (Sandbox Code Playgroud)

有很多建议表明asp.net安装不正确.通常的解决方法是运行:

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
Run Code Online (Sandbox Code Playgroud)

要么

%windir%\Microsoft.NET\Framework\v4.0.21006\aspnet_regiis.exe -i
Run Code Online (Sandbox Code Playgroud)

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

我花了最后几个小时试图找出问题所在.我希望有人可以提供帮助.

小智 186

请按以下步骤操作:

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

2)在命令提示符下键入以下两行中的任何一行:

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
Run Code Online (Sandbox Code Playgroud)

要么

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
Run Code Online (Sandbox Code Playgroud)

  • 这是更多的文字.因为它工作muhahahaha +1.我认为真正的原因是如果你先安装4.5.1然后坚持它就不能自动识别正确的IIS.或者我的顺序相反.无论哪种方式.这对我有用 (8认同)
  • 我正在构建一个新的2008 R2服务器(是的,在2015年),我首先安装了4.5.x,然后在之后粘贴了IIS ..就像他在评论中提到的@hubsonBropa一样.这让我超越了许多障碍中的第一个. (4认同)
  • 欢迎来到SO并感谢您的回答.这个答案因其简洁而被标记为待审查.虽然您的答案可能在技术上是正确的,但可以通过更多文本来改进,解释OP所具有的潜在问题,以及为什么您的答案有效. (2认同)

Jer*_*ook 51

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

ASP.NET服务器角色


小智 31

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

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

但它对我不起作用.我必须以管理员身份在CMD窗口中运行另一个命令行.这是命令:

dism/online/enable-feature/featurename:IIS-ASPNET45

要么

dism/online/enable-feature/featurename:IIS-ASPNET45/all

希望它会有所帮助.

  • 从开头删除`%`后,dism命令对我有用.所以我跑了:`dism/online/enable-feature/featurename:IIS-ASPNET45/all`. (3认同)

小智 16

尝试切换到集成模式.请参阅以下主题:

IIS 7,HttpHandler和HTTP错误500.21