2011-09-10 3 views
42

Ho ricevuto 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à di pipeline gestita integrata.)

HTTP Error 500,22 - Internal Server Error (. Un ambiente ASP.NET è stato rilevato che non si applica a integrato gestito modalità gasdotto)

.NET Framework 2.0, 3.5 e 4 sono installati e Sto usando SQL 2008. Qualcuno può dirmi qual è la soluzione per questo errore?

risposta

95

Questo problema è causato dalla modalità pipeline nell'impostazione del pool di applicazioni a cui è impostato il sito Web.

Breve

  • modo semplice Cambiare il modo di pool di applicazioni per uno che ha gasdotto Classic abilitato.
  • Modo corretto L'app web.config/web dovrà essere modificata per supportare le condotte integrate. Normalmente questo è semplice come rimuovere parti del tuo web.config.
  • Modo semplice (cattiva pratica) Aggiungere quanto segue al web.config. Vedere http://www.iis.net/ConfigReference/system.webServer/validation

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

lungo Se possibile, la soluzione migliore è quella di cambiare la vostra applicazione per sostenere le tubazioni integrate. Esistono numerose modifiche tra IIS6 e IIS7.x che causeranno questo errore. È possibile trovare i dettagli su queste modifiche qui http://learn.iis.net/page.aspx/381/aspnet-20-breaking-changes-on-iis-70/.

Se non si è in grado di farlo, è necessario modificare il pool di applicazioni che potrebbe essere più difficile da eseguire in base alla disponibilità del server Web.

  • Vai al server web
  • Aprire la Gestione IIS
  • Accedere al vostro sito
  • Fare clic su Impostazioni avanzate nel riquadro azione giusta
  • In Pool di applicazioni, modificarlo a una piscina app che ha il classico abilitato.

Verificare http://technet.microsoft.com/en-us/library/cc731755(WS.10).aspx per dettagli sulla modifica App Pool

Se hai bisogno di creare un pool di applicazioni con tubazioni classici, dare un'occhiata a http://technet.microsoft.com/en-us/library/cc731784(WS.10).aspx

Se non si ha accesso al server per apportare questa modifica, dovrai farlo attraverso il tuo server di hosting e contattarli per chiedere aiuto.

Sentitevi liberi di fare domande.

+0

*** A livello di codice *** _Come sapere se la modalità Pool di applicazioni è ** Classica o Integrata **? – Kiquenet

+0

@Kiquenet Dai un'occhiata a [system.web.httpruntime.usingintegratedpipeline] (http://msdn.microsoft.com/en-us/library/system.web.httpruntime.usingintegratedpipeline.aspx) e controlla quel valore in fase di esecuzione – Kirk

0

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

Passare alla modalità di pool di applicazioni per uno che ha gasdotto Classic abilitato" .ma senza fortuna per me

L'aggiunta di un passo in più ha lavorato per. . mi ho cambiato il mio sito web del .NET Frameworkis v2.0-.NET Frameworkis v4.0. in ApplicationPool

0

Personnaly ho incontrato questo problema durante la migrazione di un sito web IIS6 in IIS7, al fine di risolvere il problema che ho usato questa riga di comando:
%windir%\System32\inetsrv\appcmd migrate config "MyWebSite\"
Assicurarsi di eseguire il backup web.config

1

Questo ha funzionato per me:

  1. elimina il sito originariamente creato.
  2. ricreare il sito in IIS
  3. soluzione Clean
  4. soluzione Corporatura

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

16

Nel web.config, assicurarsi che queste chiavi esistono:

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

ho cambiato il mio file web.config per usare 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> 
+1

Questo ha fatto per me!Cheers –

5

Usi ng VS2013 .net 4.5

Ho avuto lo stesso problema.

La sezione "Cause più probabili" nella pagina dei messaggi di errore ha fornito il maggior aiuto. Per me. Ha detto "Questa applicazione definisce la configurazione nella sezione system.web/httpModules." Quindi nella sezione "Le cose che puoi provare" diceva "Migra 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> 
+0

Ciao, ho il problema simile l'hai rimosso dal nodo ? e lo ha lasciato solo nel nodo Izzy

+0

È passato un po 'di tempo ma sono sicuro di averlo rimosso dal nodo e incollato nel nodo . Felice che potrebbe aiutare! –

0

Set Pool di applicazioni al classico appool .NET e assicurarsi che .NET classica AppPool lavorando su Classic gestito linea piple.