it-swarm.it

Errore HTTP 500.22 - Errore interno del server (è stata rilevata un'impostazione ASP.NET che non si applica in modalità pipeline gestita integrata).

Ricevo questo errore quando visualizzo un'applicazione.

Errore HTTP 500.22 - Errore interno del server (è stata rilevata un'impostazione ASP.NET che non si applica in modalità pipeline gestita integrata).

.Net framework 2.0, 3.5 e 4 sono installati e sto usando SQL 2008. Qualcuno può dirmi qual è la soluzione per questo errore?

50

Questo problema è causato dalla modalità pipeline nell'impostazione Pool di applicazioni su cui è impostato il sito Web.

Breve

  • Modo semplice Cambia la modalità Pool di applicazioni in una con la pipeline classica abilitata.
  • Modo corretto La tua app web.config/web dovrà essere modificata per supportare pipeline integrate. Normalmente è semplice come rimuovere parti del tuo web.config.
  • Modo semplice (cattiva pratica) Aggiungi quanto segue a web.config. Vedi http://www.iis.net/ConfigReference/system.webServer/validation

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

Lungo Se possibile, la soluzione migliore è cambiare l'applicazione per supportare le pipeline integrate. Esistono diverse modifiche tra IIS6 e IIS7.x che causeranno questo errore. Puoi trovare dettagli su queste modifiche qui http://learn.iis.net/page.aspx/381/aspnet-20-breaking-changes-on-iis-70/ .

Se non sei in grado di farlo, dovrai cambiare il pool di app, che potrebbe essere più difficile da fare a seconda della tua disponibilità sul server web.

  • Vai al web server
  • Apri il IIS Manager
  • Vai al tuo sito
  • Fai clic su Impostazioni avanzate nel riquadro azioni destro
  • In Pool di applicazioni, modificalo in un pool di app con la versione classica abilitata.

Controllare http://technet.Microsoft.com/en-us/library/cc731755 (WS.10) .aspx per dettagli sulla modifica del pool di app

Se devi creare un pool di app con pipeline Classic, dai un'occhiata a http://technet.Microsoft.com/en-us/library/cc731784 (WS.10) .aspx

Se non hai accesso al server per apportare questa modifica, dovrai farlo tramite il tuo server di hosting e contattarli per assistenza.

Sentiti libero di porre domande.

107
Kirk

Nel tuo web.config, assicurati che queste chiavi esistano:

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

Ho modificato il mio file web.config per utilizzare HTTPMODULE in due forme:

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

Utilizzo di VS2013 .net 4.5

Ho avuto lo stesso problema.

La sezione "Cause più probabili" nella pagina del messaggio di errore ha fornito la massima assistenza. Per me. Diceva "Questa applicazione definisce la configurazione nella sezione system.web/httpModules". Quindi nella sezione "Cose che puoi provare" diceva "Migrare la configurazione nella sezione 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>

nella sezione 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

Questo ha funzionato per me:

  1. Elimina il sito creato originariamente.
  2. Ricrea il sito in IIS
  3. Soluzione pulita
  4. Crea soluzione

Sembra che qualcosa sia andato a sud quando ho originariamente creato il sito. Odio soluzioni simili a "Riavvia il computer, quindi reinstalla Windows" senza sapere che cosa ha causato l'errore. Ma questo ha funzionato per me. Veloce e semplice Spero che aiuti qualcun altro.

1
Paul

Personnaly Ho riscontrato questo problema durante la migrazione di un sito Web IIS6 in IIS7, per risolvere questo problema ho usato questa riga di comando:
%windir%\System32\inetsrv\appcmd migrate config "MyWebSite\"
Assicurati di eseguire il backup del tuo web.config

0
Hybris95

Ho un problema simile con IIS 7, Win 7 Enterprise Pack. Ho modificato il pool di applicazioni come nella risposta @Kirk:

Cambia la modalità Pool di applicazioni in una con la pipeline classica abilitata ". Ma senza fortuna per me.

L'aggiunta di un altro passaggio ha funzionato per me. Ho modificato il .NET Frameworkis v2.0 a .NET Frameworkis v4.0. in ApplicationPool

0
Kasim Basha