web-dev-qa-db-fra.com

Erreur HTTP 500.22 - Erreur serveur interne (Un paramètre ASP.NET qui ne s'applique pas en mode de pipeline géré intégré a été détecté.)

Je reçois cette erreur lorsque je visualise une application.

Erreur HTTP 500.22 - Erreur serveur interne (Un paramètre ASP.NET qui ne s'applique pas en mode de pipeline géré intégré a été détecté.)

.NET framework 2.0, 3.5 et 4 sont installés et j'utilise SQL 2008. Quelqu'un peut-il me dire quelle est la solution à cette erreur?

50
Varun Shenoy Basty

Ce problème est dû au mode de pipeline défini dans votre pool d'applications par le site Web.

Court

  • Manière simple Changez le mode Pool d'applications pour celui sur lequel le pipeline Classic est activé.
  • Méthode correcte Votre application web.config/web devra être modifiée pour prendre en charge les pipelines intégrés. Normalement, cela est aussi simple que de supprimer des parties de votre web.config.
  • Manière simple (mauvaise pratique) Ajoutez ce qui suit à votre web.config. Voir http://www.iis.net/ConfigReference/system.webServer/validation

     <system.webServer>
         <validation validateIntegratedModeConfiguration="false" />
     </system.webServer>
    

Long Si possible, le mieux est de changer votre application pour prendre en charge les pipelines intégrés. Un certain nombre de modifications entre IIS6 et IIS7.x entraîneront cette erreur. Vous pouvez trouver des détails sur ces changements ici http://learn.iis.net/page.aspx/381/aspnet-20-breaking-changes-on-iis-70/ .

Si vous ne pouvez pas le faire, vous devrez modifier le pool d'applications, ce qui peut s'avérer plus difficile en fonction de votre disponibilité sur le serveur Web.

  • Aller sur le serveur web
  • Ouvrez le IIS Manager
  • Accédez à votre site
  • Cliquez sur Paramètres avancés dans le volet Actions de droite.
  • Sous Pool d'applications, remplacez-le par un pool d'applications sur lequel Classic est activé.

Consultez http://technet.Microsoft.com/en-us/library/cc731755 (WS.10) .aspx pour plus de détails sur la modification du pool d'applications.

Si vous devez créer un pool d'applications avec des pipelines classiques, consultez http://technet.Microsoft.com/en-us/library/cc731784 (WS.10) .aspx

Si vous n'avez pas accès au serveur pour effectuer cette modification, vous devez le faire via votre serveur d'hébergement et le contacter pour obtenir de l'aide.

Sentez-vous libre de poser des questions.

107
Kirk

Dans votre web.config, assurez-vous que ces clés existent:

<configuration>
    <system.webServer>
        <validation validateIntegratedModeConfiguration="false"/>
    </system.webServer>
</configuration>
20
user3564057

J'ai changé mon fichier web.config pour utiliser HTTPMODULE sous deux formes:

IIS: 6

<httpModules>
    <add name="Module" type="app.Module,app"/>
</httpModules>

IIS: 7.5

<system.webServer>
    <modules>
       <add name="Module" type="app.Module,app"/>
    </modules>
</system.webServer>
11
Edu Pelais

Utilisation de VS2013 .net 4.5

J'ai eu le même problème.

La section "Causes les plus probables" de la page du message d'erreur offrait le plus d'aide. Pour moi. "Cette application définit la configuration dans la section system.web/httpModules." Ensuite, dans la section "Vous pouvez essayer", il est indiqué "Migrez la configuration vers la section system.webServer/modules".

<system.web>
      <httpHandlers>
        <add type="DevExpress.Web.ASPxUploadProgressHttpHandler, DevExpress.Web.v15.1, Version=15.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" verb="GET,POST" path="ASPxUploadProgressHandlerPage.ashx" validate="false" />
        <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v15.1, Version=15.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" verb="GET" path="DX.ashx" validate="false" />
      </httpHandlers>
      <httpModules>
        <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v15.1, Version=15.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule" />
      </httpModules>
    </system.web>

dans la section system.webServer.

<system.webServer> 
    <handlers>
      <add type="DevExpress.Web.ASPxUploadProgressHttpHandler, DevExpress.Web.v15.1, Version=15.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" verb="GET,POST" path="ASPxUploadProgressHandlerPage.ashx" name="ASPxUploadProgressHandler" preCondition="integratedMode" />
      <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v15.1, Version=15.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" verb="GET" path="DX.ashx" name="ASPxHttpHandlerModule" preCondition="integratedMode" />
    </handlers>
    <modules>
      <add type="DevExpress.Web.ASPxHttpHandlerModule, DevExpress.Web.v15.1, Version=15.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" name="ASPxHttpHandlerModule" />
    </modules>
</system.webServer>
7
Captain America

Cela a fonctionné pour moi:

  1. Supprimer le site créé à l'origine.
  2. Recréer le site dans IIS
  3. Solution propre
  4. Construire une solution

On dirait que quelque chose est allé au sud quand j'ai créé le site à l'origine. Je déteste les solutions similaires à "Redémarrez votre ordinateur, puis réinstallez Windows" sans savoir la cause de l'erreur. Mais cela a fonctionné pour moi. Simple et rapide J'espère que ça aide quelqu'un d'autre.

1
Paul

Personnellement, j'ai rencontré ce problème lors de la migration d'un site Web IIS6 vers IIS7. Afin de résoudre ce problème, j'ai utilisé cette ligne de commande:
%windir%\System32\inetsrv\appcmd migrate config "MyWebSite\"
Assurez-vous de sauvegarder votre web.config

0
Hybris95

J'ai un problème similaire avec IIS 7, Windows 7 Enterprise Pack. J'ai modifié le pool d'applications comme dans @Kirk answer:

Changez le mode pool d'applications en un mode pour lequel le pipeline classique est activé ".mais aucune chance pour moi.

Ajouter une étape supplémentaire a fonctionné pour moi. J'ai changé le .NET Frameworkis v2.0 De mon site Web en .NET Frameworkis v4.0. Dans ApplicationPool

0
Kasim Basha