Domanda

Questo sta facendo impazzire l'intera squadra. Ci deve essere una parte semplice di IIS o del nostro Web Server configurata in modo errato, ma ogni volta che proviamo a eseguire l'applicazione Web ASP.NET su IIS 7.5 viene visualizzato il seguente errore ...

Ecco l'errore per intero:

HTTP Error 500.19 - Internal Server Error

The requested page cannot be accessed because the related configuration  
data for the page is invalid.

`Detailed Error Information` 
Module              IIS Web Core
Notification        Unknown
Handler             Not yet determined
Error Code          0x8007000d
Config Error
Config File         \\?\E:\wwwroot\web.config
Requested URL       http://localhost:80/Default.aspx
Physical Path 
Logon Method        Not yet determined
Logon User          Not yet determined
Config Source
   -1: 
    0: 

La macchina esegue Windows Server 2008 R2 . Stiamo sviluppando la nostra applicazione Web utilizzando Visual Studio 2008 .

Secondo Microsoft il codice 8007000d significa che c'è un errore di sintassi nel nostro web.config - tranne che il progetto si costruisce e funziona bene localmente. Guardando web.config in XML Notepad, non viene visualizzato alcun errore di sintassi. Presumo che debba essere una sorta di configurazione scadente da parte mia ...?

Qualcuno sa dove potrei trovare ulteriori informazioni sull'errore? Nulla viene mostrato in EventViewer, neanche :(

Non sono sicuro di cos'altro sarebbe utile menzionare ...

L'assistenza è molto apprezzata. Grazie!

AGGIORNAMENTI! - POSTED WEB.CONFIG QUI SOTTO

Ok, da quando ho pubblicato la domanda originale sopra, ho rintracciato le linee precise nel web.config che causavano l'errore.

Ecco le linee (appaiono tra <System.webServer> tag) ...

    <httpHandlers>
        <remove verb="*" path="*.asmx"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    </httpHandlers>

Nota: se elimino le righe tra , <httpHandlers> STILL ottengo l'errore. Devo letteralmente eliminare <system.webServer> (e le linee tra di loro) per interrompere l'errore sopra riportato.

Una volta fatto questo, ricevo comunque un nuovo errore 500.19. Per fortuna, questa volta IIS in realtà mi dice quale bit del web.config sta causando un problema ...

    <handlers>
        <remove name="WebServiceHandlerFactory-Integrated"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    </handlers>

Osservando queste righe è chiaro che il problema è migrato ulteriormente all'interno dello stesso tag <handlers> nel tag <=>.

Il nuovo errore è anche più esplicito e si lamenta specificamente che non riconosce l'attributo " validate " (come visto nella terza riga sopra). La rimozione di questo attributo fa quindi lamentare che la stessa riga non ha il & Quot richiesto; nome & Quot; attributo. L'aggiunta di questo attributo fa apparire ASP.NET errore ...

  

Impossibile caricare il file o l'assembly   'System.Web.Extensions,   Versione = 1.0.61025.0, Cultura = neutro,   PublicKeyToken = f2cb5667dc123a56 'or   una delle sue dipendenze. Il sistema   impossibile trovare il file specificato.

Ovviamente penso che questi nuovi errori siano appena emersi da me eliminando i tag <=> in primo luogo - sono ovviamente necessari dall'applicazione - quindi la domanda rimane: perché dovrebbe questi tag generano un errore in IIS in primo luogo ???

Devo installare qualcosa su IIS per farlo funzionare con loro?

Grazie ancora per qualsiasi aiuto.

web.config

Ecco le problematiche parti del nostro web.Config ... Spero che questo aiuti qualcuno a trovare il nostro problema!

<system.Web>

<!-- stuff cut out -->

    <httpHandlers>
        <remove verb="*" path="*.asmx"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56" validate="false"/>
    </httpHandlers>
    <httpModules>
        <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    </httpModules>
</system.web>

<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <modules>
        <add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    </modules>
    <remove verb="*" path="*.asmx"/>
    <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    <handlers>
        <remove name="WebServiceHandlerFactory-Integrated"/>
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory,System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
        <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=f2cb5667dc123a56"/>
    </handlers>
</system.webServer>
È stato utile?

Soluzione 3

Aha! Ho battuto questo problema! Mio Dio, è stata una bestia per qualcuno come me con un'esperienza IIS limitata. Pensavo davvero che avrei trascorso tutto il fine settimana a sistemarlo.

Ecco la soluzione per chiunque altro abbia mai avuto questo malvagio problema.

Prima cosa da tenere presente: se speri che questa sia la tua soluzione, assicurati di avere lo stesso codice di errore ( 0x8007000d ) e la sorgente di configurazione ( -1: 0 : ). In caso contrario, questo non è la tua soluzione.

Prossima cosa da tenere presente: AJAX non è installato correttamente nel tuo web.config!

Risolvilo seguendo questa guida:
http: // www .asp.net / AJAX / documentazione / live / ConfiguringASPNETAJAX.aspx

Quindi, installa le estensioni AJAX 1.0 sul tuo server di produzione, da questo link:

  

http://www.asp.net/ajax/downloads/archive/
   Aggiorna : Microsoft sembra aver rimosso la pagina precedente :(

Questo è tutto!

Altri suggerimenti

Ho avuto questi sintomi esatti e il mio problema era simile a quello di Peter. Stava installando un progetto esistente su un nuovo server. Il mio progetto faceva riferimento al modulo di riscrittura degli URL IIS7, ma non era stato ancora installato sul nuovo server. L'installazione ha risolto il mio problema.

È possibile utilizzare Microsoft Web Platform Installer per installarlo. Eseguire, selezionare Prodotti , nel menu a sinistra selezionare Server e trovare Riscrittura URL nell'elenco e installarlo.

Oppure puoi scaricarlo qui .

Dopo aver lottato con questo per un giorno su una nuova macchina mi sono imbattuto nei seguenti collegamenti. Mi mancavano i moduli di riscrittura. Ciò ha risolto tutto.

http://forums.iis.net/t/1176834.aspx

http://learn.iis.net /page.aspx/460/using-the-url-rewrite-module/

Si è verificato lo stesso problema di cui sopra, lo stesso codice di errore, ecc. Impostazione di un sito Web locale su Windows 8. Dopo molte ricerche è emerso che mancava la riscrittura degli URL. Dopo averlo scaricato tutto è andato bene. :)

Stesso problema su Server 2016, IIS 10, errore 500.19. Ho installato il modulo di reindirizzamento e ha funzionato. Non so perché questo non sia stato incluso per impostazione predefinita.

https://www.iis.net/downloads/microsoft/url- riscrittura # additionalDownloads

Per essere chiari sembra che web.config di IIS 7 funzionerà o sia progettato per funzionare, ma la mancanza di questo modulo dà l'errore davvero strano e inutile. Googling ti porta in una pagina Microsoft che insiste sul fatto che il tuo sito sia danneggiato o che web.config sia corrotto. Nessuno dei due sembra essere il caso.

Quella pagina non utile è qui: https://support.microsoft.com/en- noi / kb / 942055

Aggiungo solo una risposta perché ho passato ore a cercare di risolvere gli stessi sintomi (ma problema diverso):

Una possibile causa è una DLL x86 in un pool di app a 64 bit, la soluzione è abilitare le app a 32 bit nelle impostazioni del pool di applicazioni.

Per me, ri-registrare asp.net per iis ha fatto il trucco. Spero che questo aiuti qualcun altro.

aspnet_regiis.exe -i

Per riassumere in base alle risposte qui e altrove:

  1. Controlla la versione .NET del pool di app (ad es. 2.0 vs 4.0)
  2. Controllare che siano installati tutti i moduli referenziati IIS. In questo caso si trattava delle estensioni AJAX (probabilmente non è il caso in questi giorni), ma Riscrittura URL è comune.

Un altro modo per ottenere errori 500.19 senza una ragione apparente è la mancanza di directory e / o permessi non funzionanti su di essi.

In caso di questa domanda, credo che la domanda ponga sulla versione completa di IIS. Presumo questo a causa di questa linea:

Config File         \\?\E:\wwwroot\web.config

Il programma di installazione di IIS di solito crea wwwroot per te e questa è la cartella principale predefinita per tutti i siti Web e il punto di montaggio per le directory virtuali. Esiste sempre, quindi nessun problema, di solito non ti interessa molto.

Poiché i file web.config sono gerarchici, è possibile inserire un file web.config master e avere alcune impostazioni di root lì, e tutti i siti lo erediteranno. IIS verifica l'esistenza di quel file e tenta di caricarlo.

Tuttavia, prima parte divertente:

Questa directory esiste se IIS è installato correttamente. Se non esiste, otterrai un errore di classe 500. Tuttavia, se giochi con autorizzazioni per file / directory, specialmente quelle "avanzate", puoi effettivamente negare l'account del servizio IIS dalla scansione / lettura del contenuto di questa directory. Se IIS non è in grado di verificare se esiste wwwroot \ web.config o se esiste e IIS non è in grado di aprire & Amp; leggilo - bam - errore di classe 500.

Tuttavia, per IIS completo è molto improbabile. Gli sviluppatori / amministratori che lavorano con IIS completo sono generalmente riluttanti a giocare con Documents quindi di solito rimangono correttamente configurati.

Tuttavia, su IIS Express ..

Di solito, IIS Express " funziona solo " ;. Spesso, gli sviluppatori che utilizzano IIS Express spesso non sono consapevoli di quanto internamente assomigli al vero IIS.

Puoi facilmente imbatterti nel fatto che IIS Express ha il suo file applicationHost.config e VS lo crea e lo gestisce per te (correttamente, in una certa misura) e quel tipo di rivelazione che ti dice che non è così semplice e punta e clicca come sembra all'inizio.

Oltre a quel file di configurazione, VisualStudio crea anche una struttura di directory vuota nella cartella <=>. Se ricordo bene, IIS Express considera queste cartelle come le directory principali dei tuoi siti Web su cui sono montate directory virtuali con il tuo codice.

Successivamente, proprio come IIS, all'avvio di IIS Express, si aspetta l'esistenza di queste cartelle e verifica la presenza di file web.config root. I file web.config del sito. Quasi sempre, questi file web.config mancano - e va bene perché non li vuoi - hai la tua ** applicazione web.config & Quot; sono collocati con il resto del contenuto in una directory virtuale.

Ora, la seconda parte divertente è: IIS Express si aspetta che svuota le directory. Possono essere vuoti, ma devono esistere. Se non esistono, verrà visualizzato un errore di classe 500 che indica che & Quot; web.config & Quot; non è possibile accedere al file in quel percorso.

La prima volta che ho riscontrato questo problema è stato quando stavo cancellando il mio disco rigido. Ho scoperto che la cartella 'documenti \ siti Web', piena di spazzatura, ho riconosciuto diversi progetti di un anno su cui non lavoro più, tutti vuoti, non un singolo file, quindi ho eliminato tutto. Una settimana dopo, bam, non riesco a eseguire / eseguire il debug di nessuno dei siti su cui stavo lavorando al momento. L'errore era 500.19, impossibile leggere il file di configurazione.

Quindi, se usi IIS Express e vedi errori di classe 500 che parlano della lettura della configurazione, controlla attentamente il messaggio di errore e leggi tutti i percorsi menzionati. Se vedi qualcosa di simile:

c:\users\user\documents\visual studio 2013\projects\WebProject1\WebProject1.web\web.config
c:\users\zeshan.munir\documents\visual studio 2015\projects\WebProject1\WebProject1.web\web.config
c:\users\zeshan.munir\documents\visual studio 2017\projects\WebProject1\WebProject1.web\web.config
etc..

Vai esattamente dove indica l'errore, assicurati che queste cartelle esistano, assicurati che l'account lavoratore IIS possa attraversarle e leggerle, e se noti che qualcosa non va, forse sarà quello.

A proposito. In VisualStudio, su ProjectProperties / Web è presente un pulsante & Quot; Crea directory virtuale & Quot ;. Fondamentalmente fa proprio questa cosa, quindi potresti provarlo prima, ma IIRC può anche a volte cancellare / sovrascrivere / scambiare sezioni di configurazione in applicationHofile st.config, quindi fai attenzione con quel pulsante se hai delle configurazioni personalizzate lì.

Nel mio caso, c'era qualcosa di sbagliato nell'installazione di .NET Core Windows Hosting Bundle.

L'ho installato e riavviato IIS usando (" net stop era / y " e " net start w3svc ") dopo l'installazione, ma otterrei quell'errore 500.19 con il codice di errore 0x8007000d e l'origine di configurazione -1: 0 :.

Sono riuscito a risolvere il problema riparando l'installazione di .NET Core Windows Hosting Bundle e riavviando IIS utilizzando i comandi di cui sopra.

Spero che questo aiuti qualcuno!

Questo potrebbe non essere correlato ... Ho iniziato con lo stesso errore menzionato sopra, ho iniziato a cercare su Google, apportare modifiche, ottenere nuovi errori, loop infinito.

La modifica che mi ha causato quell'errore è stata la confusione con la delega delle funzioni in Gestione IIS nella sezione Gestione del server. Mi dispiace di non ricordare quale ho cambiato, ma googling potrebbe aiutare.

Questo mi ha fatto superare il primo errore in un flusso completamente nuovo di altri, alcuni totalmente privi di senso. (Vorrei ottenere un errore durante l'esecuzione in una directory virtuale, la conversione in un'applicazione ha prodotto un altro errore, ecc. Ecc.). Ciò che alla fine ha risolto questa serie di errori è stato: Gestione IIS, Pool di applicazioni, DefaultAppPool, Abilita applicazioni a 32 bit = True

Avevo avviato questa app su una scatola di Windows XP a 32 bit e ora la sto eseguendo su una scatola di Windows 7 a 64 bit.

Quindi speriamo che questo aiuti qualcun altro.

Il mio IIS 7.5 non capisce il tag in web.config In VS 2010 si sottolinea anche quel tag. Controlla il tuo file di configurazione accurato per trovare tutti i tag sottolineati. L'ho inserito nel commento e l'errore scompare.

Commenta le seguenti righe nel file web.config.

<modules>
    <!--<add name="ScriptModule" preCondition="integratedMode" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>-->
</modules>

<handlers>
    <remove name="WebServiceHandlerFactory-ISAPI-2.0"/>
    <!--<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    <add name="ScriptResource" verb="GET" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>-->
</handlers>

Funzionerà.

Ho avuto lo stesso errore. Avevo un sito IIS con .net framework versione 2.0, ma la mia app aveva bisogno di 4.0. Ho cambiato la versione e ha funzionato.

Pubblicare solo come promemoria se qualcuno potrebbe avere lo stesso problema.

Questo adorabile errore dettagliato è ancora presente nel 2019! Voglio solo aggiungere che se il tuo web.config è valido e accessibile, molto probabilmente è un problema di dipendenza .

Come menzionato dall'OP era un modulo AJAX, e come altri comunemente il modulo Rewrite. Tieni semplicemente gli occhi aperti nel tuo web.config a quali moduli e librerie fanno riferimento i tuoi tag poiché il codice di errore 0x8007000d può riguardare QUALSIASI dipendenza .

Nel mio caso non mi ero reso conto che il pacchetto AspNetCore mancava e dovevo essere installato! Sono così felice di aver trovato questo post !!

Ho avuto lo stesso problema in Windows 7.

La soluzione era andare alle impostazioni di base > connettersi come > utente specifico - e accedi come utente, invece del "pass-through" predefinito

Ciò ha risolto il problema per me.

Windows 7

Prova questo

esegui cmd come amministratore.

Disinstallare tutti iis.

start /w pkgmgr.exe /uu:IIS-WebServerRole;WAS-WindowsActivationService

Reinstalla iOS e normalmente funziona

Alain

Ho riscontrato questo errore inserendo il tag <customErrors> all'interno di <system.webServer> anziché <system.web> a cui appartiene. C'era un piccolo scricchiolio sotto il tag <=> ma non me ne sono accorto subito.

Assicurati che tutte le funzionalità di IIS siano abilitate correttamente.

  • Apri Funzionalità Windows (attiva o disattiva le funzionalità Windows).
  • Scorri verso il basso fino a Internet Information Services

  • Apri il World Wide Web casella a discesa più

  • Apri la Funzionalità di sviluppo delle applicazioni più il menu a discesa
  • Seleziona manualmente tutte le caselle di controllo successive, quindi fai clic su OK

 inserisci qui la descrizione dell'immagine

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top