ASP.NET: Errore HTTP 500.19 - Errore server interno 0x8007000d


115

Sto replicando la distribuzione di applicazioni Web e ho riscontrato diversi problemi relativi a HTTP Error 500.19. La mia macchina esegue Windows 7 mentre lo sviluppo funzionante utilizza Windows 8 . Stiamo sviluppando la nostra applicazione Web utilizzando Visual Studio 2010 .

Innanzitutto, ho ricevuto il codice di errore 0x80070021, simile a quello pubblicato qui . Aggiorno il mio web.config in base alla risposta accettata e poi ho ricevuto il seguente codice di errore (che è simile a quello pubblicato qui ).

HTTP Error 500.19 - Internal Server Error
Error Code 0x8007000d
Config Source -1: 0:

Ho letto la definizione dei sintomi nella pagina del supporto Microsoft e la causa dell'errore è:

Questo problema si verifica perché il file ApplicationHost.config o il file Web.config contiene un elemento XML non valido.

e la soluzione è

Eliminare l'elemento XML non valido dal file ApplicationHost.config o dal file Web.config.

Tuttavia, il web.config che ho usato funziona perfettamente nell'ambiente di sviluppo originale.

Ecco cosa ho verificato e provato finora:

  1. Installa ASP.NET chiamando aspnet_regiis -i
  2. Imposta la mia applicazione per utilizzare un pool di applicazioni diverso (ASP.NET v4.0, .NET v4, ecc.)
  3. Il file ApplicationHost.config utilizza ancora l'impostazione predefinita di Windows 7.

Questo fa parte del mio Web.Config

<system.webServer>
    <section name="handlers" overrideModeDefault="Allow" /> 
    <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow" />
    <validation validateIntegratedModeConfiguration="false" />
    <modules runAllManagedModulesForAllRequests="true">
    </modules>
    <handlers>
        <remove name="UrlRoutingHandler" />
        <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </handlers>
    <urlCompression doStaticCompression="true" doDynamicCompression="false"></urlCompression>
    <directoryBrowse enabled="true" />
    <defaultDocument>
        <files>
            <add value="Logon.aspx" />
        </files>
    </defaultDocument>
</system.webServer>

Ho letto post simili / duplicati / chiusi (circa 13) in stackoverflow, ho provato tutti tranne la risposta relativa ad Ajax (è correlata) e non ho ancora idea di quale sia l'errore.

Qualcuno sa come correggere questo errore? (E se possibile, è necessario controllare un elenco completo di cose in modo da poter ridurre post simili come questo.) Sono pronto a fornire maggiori dettagli.


Ho appena risolto questo problema. Sebbene l'errore punti al file web.config, può essere un problema anche con appsettings.config. Se entrambi sono malformati, verrà visualizzato lo stesso errore.
PGardockiDotNet

Risposte:


273

Errore 0x8007000d significa che il modulo di riscrittura URL (a cui si fa riferimento in web.config) è mancante o la versione corretta non è installata.

Basta installare il modulo di riscrittura URL tramite il programma di installazione della piattaforma web.

Consiglio di controllare tutte le dipendenze da web.config e installarle.


23
Vorrei che IIS fornisse un messaggio di errore più descrittivo, se avesse detto "Modulo non riconosciuto: UrlRewritingNet" avrei risparmiato due ore questa mattina. +1 per aver posto fine al mio dolore :)
AlexFoxGill

17
Grazie. Aggiunto "Url Rewrite 2.0" tramite Web Platform Installer, quindi risolto.
Cihan Yakar

Ho avuto lo stesso problema, ho passato anni a guardare file XML "corrotti" finché non sono incappato in questo commento che menzionava il modulo di riscrittura URL. Questo è stato sufficiente per far scattare il mio ricordo di aver risolto esattamente la stessa cosa qualche mese fa! (Sto scrivendo questa volta) Grazie!
anton

4
Bene, anche Web Platform ha detto che è stato "installato", tuttavia, non è stato visualizzato in IIS, vado qui iis.net/downloads/microsoft/url-rewrite , scarica la versione corretta, rimuovi quella corrente e re- installa, chiudi IIS e riavvia IIS, ora vedo "URL Rewrite".
Box Very

Molte grazie. Questa risposta mi ha salvato la giornata. Ho installato la "riscrittura URL" tramite il programma di installazione della piattaforma Web su IIS 10, server Windows 2016 e l'errore è scomparso.
Anil Gupta

34

Quando ho provato a configurare un sito Web .NET Core 1.0 ho ricevuto questo errore e ho provato tutto il resto che sono riuscito a trovare senza fortuna, incluso il controllo del file web.config, i permessi IIS_IUSRS, il modulo di riscrittura dell'URL IIS, ecc. installato DotNetCore.1.0.0-WindowsHosting.exe da questa pagina: https://www.microsoft.com/net/download e ha iniziato a funzionare subito.

Link specifico per il download: https://go.microsoft.com/fwlink/?LinkId=817246


4
Grazie uomo! Questo è ciò di cui ho bisogno per le mie applicazioni principali. Coloro che vogliono sapere come ospitare siti Web principali in iis, possono andare su docs.microsoft.com/en-us/aspnet/core/publishing/iis
muhihsan

1
Questo vale per tutte le versioni di Core, non solo per la 1.0. (Il core deve essere installato sul server.)
Patrick

1
Per me funziona dopo aver provato tutto il resto. Grazie.
Andrew

per ottenere l'ultima versione, puoi andare qui docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/…
Leonard AB

1
Grazie per questo, sono riuscito a farlo funzionare eseguendo una riparazione della mia installazione DotNetCore.
Shane

21

Nel mio caso, poiché avevo reinstallato iis, avevo bisogno di registrare iis con dot net 4 usando questo comando:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

21

Installa la riscrittura dell'URL:

AGGIORNAMENTO: ora è disponibile qui (e funziona con IIS 7-10):

https://www.iis.net/downloads/microsoft/url-rewrite

Assicurati di avere il seguente impostato su "Consentito" per il tuo server IIS:

inserisci qui la descrizione dell'immagine


Grazie per il collegamento! L'ho installato dalle funzionalità Aggiungi / Rimuovi, ma non è stato risolto. Solo scaricarlo da quel link ha funzionato.
Luca

5

Un po 'tardi per la festa qui, ma ho appena lottato con lo stesso identico problema (sintomi) e maledicendo la mancanza di segnalazione dei dettagli degli errori. Ha funzionato bene su macchine IIS 8+ ma Win 7 ha ottenuto questi errori HTTP 500.19 ISTANTANEO. Per me è stato sciocco come avere un elemento di configurazione non supportato nel file di configurazione:

 <applicationInitialization doAppInitAfterRestart="true">
  <add initializationPage="/" />
</applicationInitialization>

Quindi, mentre i vecchi file web.config funzionavano bene, li ho semplicemente modificati e ho iniziato a tagliare nuovi blocchi fino a quando non ho avviato il caricamento della pagina. Se l'avessi visto come una risposta, avrei seguito questa strada immediatamente poiché sapevo che nessuna delle soluzioni popolari era rilevante. Quindi eccoti :)


Questo era il mio problema. Grazie!
Erik W

Ho avuto anche questo problema. Grazie!
José Margaça Lopes

4

Nel mio caso (.Net Core Web API) per questo problema Errore HTTP 500.19 - Errore server interno 0x8007000d

Primo download dotnet-hosting-3.0.0-preview5-19227-01-win (.Net Core 3) o dotnetcore 2 hasting windows

https://download.visualstudio.microsoft.com/download/pr/5bed16f2-fd1a-4027-bee3-3d6a1b5844cc/dd22ca2820fadb57fd5378e1763d27cd/dotnet-hosting-3.1.4-win.exe

Qualsiasi applicazione .net core 3.1 sia angolare che mvc avrebbe bisogno di questo.

Secondo installalo come amministratore Apri cmd come amministratore, digita iisreset, premi invio

Quindi aggiorna la tua app localhost

Cordiali saluti MMTofighi dall'Iran


1

Problema risolto. Ecco i passaggi che ho provato:

  • Abilita l'applicazione a 32 bit in IIS -> Pool di applicazioni -> Impostazioni avanzate
  • Copia System.EnterpriseServices.dll e System.EnterpriseServices.Wrapper.dll da C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 nella cartella bin dell'applicazione
  • Commenta / rimuove i commenti alle sezioni sul web.config e ho trovato il problema relativo alla DLL a cui si fa riferimento.

La configurazione che ho commentato la precedente che ho aggiunto:

<section name="handlers" overrideModeDefault="Allow" /> 
<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Allow"/>
  • Aggiungere il FasterFlect.DLL richiesto utilizzato da Combres.DLL v2.1.0.0 alla cartella bin dell'applicazione (deve scaricare il file zip completo da Combres codeplex, poiché la DLL più veloce V2.0.3732.24338 richiesta non può essere trovata in fastflect codeplex) e altro DLL. Per comodità, usa il Combres.DLL completo (1,3MB)
  • Verificare che le versioni della DLL e i token della chiave pubblica siano configurati correttamente in web.config utilizzando lo strumento, ad esempio .NET Reflector

1

Comprendo che questo errore può verificarsi a causa di molti motivi diversi. Nel mio caso è stato perché ho disinstallato il servizio WSUS dai ruoli del server e l'intero IIS è andato giù. Dopo aver fatto un po 'di ricerca ho scoperto che la disinstallazione di WSUS rimuove alcune DLL che vengono utilizzate per eseguire la compressione http. Poiché quelle DLL mancavano e IIS le stava ancora cercando, ho eseguito un ripristino utilizzando il seguente comando in CMD:

appcmd set config -section:system.webServer/httpCompression /-[name='xpress']

Bingo! Il problema ora è risolto. Non dimenticare di eseguirlo come amministratore. Potrebbe anche essere necessario eseguire "iisreset". Nel caso in cui.

Spero che aiuti gli altri. Saluti


1

Accendo .Net Framework 3.5 e 4.5 Advance Service in Control Panel-> Programs and Features-> Turn Windows features on or off.it funzionano per me.


1

Una riparazione del pacchetto di hosting DotNetCore ha fatto il trucco per me. : /


0

Ho avuto questo problema con un servizio web nuovo di zecca. Risolto aggiungendo l'accesso di sola lettura per Tutti in Proprietà-> Sicurezza per la cartella in cui si trovava il servizio.



-1

Per me, si trattava di configurare il mio server web per utilizzare la tecnologia più recente e più avanzata per supportare la mia applicazione ASP.NET 5!

Il seguente URL mi ha fornito tutti i suggerimenti di cui avevo bisogno:

https://docs.asp.net/en/1.0.0-rc1/publishing/iis-with-msdeploy.html

Spero che questo ti aiuti :)


2
Puoi descrivere alcuni dei punti importanti contenuti nel link? In questo modo la risposta può rimanere utile se il collegamento si interrompe o non è disponibile.
mhatch
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.