web-dev-qa-db-ja.com

500.21モジュールリストに不正なモジュール "ManagedPipelineHandler"があります

私はエラーを得ています:

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。

私は問題が何であるかを把握しようとして最後の数時間を費やしました。誰かが手助けできることを願っています。

79
G Mastros

統合モードに切り替えてみてください。次のスレッドを見てください。

IIS 7、HttpHandlerおよびHTTPエラー500.21

16
Radomir Zaric

以下の手順に従ってください

1)[管理者としてプロンプト]コマンドを実行します。

2)コマンドプロンプトに以下の2行のどちらかを入力します。

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

または

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

私はWindows Server 2012 R2のフレッシュビルドでこのエラーに遭遇しました。 IISと.NET 4.5はインストールされていましたが、ASP.NETサーバーロール(私の場合はバージョン4.5)は追加されていませんでした。このスクリーンショットには、ASP.NET 4.5のように必要なバージョンのASP.NETが追加またはインストールされていることを確認してください。

ASP.NET Server Role

51
Jeremy Cook

問題を解決するために、私は実行しようとしました

%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

それが役立つことを願っています。

29
Lynn

Windows Server 2012 R2上のASP.Net 4.5アプリでこのエラーが発生しました。

スタートメニューに移動 - > "ウィンドウの機能の有効化または無効化"。ウィザードがポップアップしました。

サーバーロールの横にあるをクリックします。

これを動作させるには、これらをチェックする必要がありました。WebサーバーIIS - > Webサーバー - >アプリケーション開発の下にあります(これらは上記のJeremy Cookの答えに基づいています)。

enter image description here

次に、「機能」の横にあるをクリックして、以下がチェックされていることを確認します。

enter image description here

次に[Next]をクリックして[Install]この時点で、エラーは私のために消えました。がんばろう!

3
Rudy Scoggins

これは、IIS 7が<system.web><httpHandlers><system.webServer><handlers>の両方のHTTPハンドラーを使用するためです。アプリケーションにCloudConnectHandlerが必要な場合は、このハンドラを含む<httpHandlers>セクションを<system.web>に追加する必要があります。

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

<system.webServer>のハンドラーにpreCondition属性も追加します。

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

それが役に立てば幸い

2
Evgeny Gorb

IIS ExpressではなくIISが必要なときに、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にチェックを入れます(私の場合)

2
Neil Thompson

私にとっては、PUTまたはDELETEをWebAPIに使用すると、このエラーメッセージが表示されました。私はまた提案されたように.NET Frameworkを再登録しようとしましたが、役に立ちませんでした。

私は個々のアプリケーションプールに対してWebDAVを無効にすることでこれを修正することができました。これはPUTまたはDELETEを使用するときの 'bad module'エラーを止めました。

個々のアプリケーションプールに対してWebDAVを無効にします。

  1. 影響を受けるアプリケーションプールをクリックします
  2. リストからWebDAV Authoring Toolsを探す
  3. クリックして開く
  4. 右上のDisable WebDAVをクリックしてください。

このリンク 私は指示を見つけたところですが、それはあまり明確ではありません。

2
Luke

それがIIS 8の場合は、コントロールパネルを開き、Windowsの機能のオン/オフを切り替え、Bad "Named pipe activation"を有効にしてからIISを再起動してください。 IIS 7でも同じ動作が期待できます。

0
user3024678

新しいWebサイトを展開したり、MSDeployを使用して既存のWebサイトを更新するたびに、この問題が発生しました。

次の構文でMSDeployを使用してアプリドメインをアンロードすることでこれを修正できました。

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

また、アプリケーションプールを停止、開始、またはリサイクルすることもできます - 詳細はこちら: http://technet.Microsoft.com/en-us/library/ee522997%28v=ws.10%29.aspx =

Armaanの解決策が私を困らせるのに役立ちましたが、それは問題を永久に消えることはしませんでした。

0
neoscribe