web-dev-qa-db-fra.com

500.21 Module "ManagedPipelineHandler" incorrect dans sa liste de modules

Je reçois l'erreur:

Erreur HTTP 500.21 - Le gestionnaire d'erreurs de serveur interne "CloudConnectHandler" a un module incorrect "ManagedPipelineHandler" dans sa liste de modules

mon fichier web.config ressemble à ceci:

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

Il existe de nombreux conseils indiquant qu'asp.net n'est pas installé correctement. Le correctif habituel est de lancer:

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

ou

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

J'ai couru les deux, sans aucune erreur. J'ai redémarré IIS, mais le problème persiste toujours. Le site utilise un pool d'applications. Le pool d'applications est démarré, .net framework = 4.0, Managed Pipeline = Classic, Identity = LocalSystem.

J'ai passé les deux dernières heures à essayer de comprendre le problème. J'espère que quelqu'un peut aider.

80
G Mastros

Essayez de passer en mode intégré. Voir le fil suivant:

IIS 7, HttpHandler et l'erreur HTTP 500.21

16
Radomir Zaric

S'il vous plaît suivez ces étapes:

1) Exécutez la commande Invite en tant qu'administrateur.

2) Tapez l'une des deux lignes ci-dessous dans l'invite de commande:

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

ou

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

J'ai rencontré cette erreur sur une nouvelle version de Windows Server 2012 R2. IIS et .NET 4.5 ont été installés, mais le rôle de serveur ASP.NET (version 4.5 dans mon cas) n'a pas été ajouté. Assurez-vous que la version d'ASP.NET dont vous avez besoin a été ajoutée/installée comme ASP.NET 4.5 est dans cette capture d'écran.

ASP.NET Server Role

51
Jeremy Cook

Pour résoudre le problème, j'ai essayé de courir

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

Cependant cela n'a pas fonctionné pour moi. Je dois exécuter une autre ligne de commande dans la fenêtre CMD en tant qu'administrateur. Voici la commande:

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

ou

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

J'espère que ça va aider.

30
Lynn

En effet, IIS 7 utilise des gestionnaires http provenant à la fois de <system.web><httpHandlers> et de <system.webServer><handlers>. si vous avez besoin de CloudConnectHandler dans votre application, vous devez ajouter la section <httpHandlers> avec ce gestionnaire au <system.web>:

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

et ajoutez également l'attribut preCondition au gestionnaire dans <system.webServer>:

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

J'espère que ça aide

3
Evgeny Gorb

J'ai eu cette erreur sur mon application ASP.Net 4.5 sur Windows Server 2012 R2.

Allez dans le menu de démarrage -> "Activer ou désactiver les fonctionnalités de Windows". Un sorcier est apparu pour moi.

Cliquez sur Suivant pour les rôles de serveur

J'ai dû les vérifier pour que cela fonctionne, sous Web Server IIS-> Serveur Web-> Développement d'applications (celles-ci sont basées sur la réponse de Jeremy Cook ci-dessus):

enter image description here

Puis cliquez sur en regard de Fonctionnalités et assurez-vous que les éléments suivants sont cochés:

enter image description here

Ensuite, cliquez sur Suivant et Installer. À ce stade, l'erreur est partie pour moi. Bonne chance!

3
Rudy Scoggins

J'avais ce problème sous Windows 10 lorsque j'avais besoin de IIS au lieu de IIS Express. Le nouveau projet Web a échoué avec l'erreur de l'OP. Fix était

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

tick ASP.NET 4.7 (dans mon cas)

2
Neil Thompson

Pour moi, je recevais ce message d'erreur lorsque j'utilisais PUT ou DELETE avec WebAPI. J'ai également essayé de ré-enregistrer .NET Framework comme suggéré, mais en vain.

J'ai pu résoudre ce problème en désactivant WebDAV pour mon pool d'applications individuel. Cela a arrêté l'erreur 'module incorrect' lors de l'utilisation de PUT ou DELETE.

Désactiver WebDAV pour un pool d'applications individuel:

  1. Cliquez sur le pool d'applications affecté
  2. Trouver WebDAV Authoring Tools dans la liste
  3. Cliquez pour l'ouvrir
  4. Cliquez sur Disable WebDAV en haut à droite.

Ce lien est l'endroit où j'ai trouvé les instructions mais ce n'est pas très clair.

2
Luke

s'il s'agit de IIS 8, accédez au panneau de configuration, activez/désactivez les fonctionnalités de Windows, activez l'option "Activation du canal nommé", puis redémarrez IIS. J'espère que les mêmes travaux avec IIS 7

0
user3024678

J'ai eu ce problème chaque fois que j'ai déployé un nouveau site Web ou mis à jour un site existant à l'aide de MSDeploy .

J'ai pu résoudre ce problème en déchargeant le domaine d'application à l'aide de MSDeploy avec la syntaxe suivante:

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

Vous pouvez également arrêter, démarrer ou recycler le pool d'applications. Pour plus d'informations, cliquez ici: http://technet.Microsoft.com/en-us/library/ee522997%28v=ws.10%29.aspx =

La solution d'Armaan m'a aidé à me débrouiller, mais le problème n'a pas été résolu définitivement.

0
neoscribe