Domanda

Ho una semplice build API web di Visual Studio 2013.Funziona bene quando lo eseguo da VS13 ma quando copio il progetto nell'IIS locale mi dà il seguente errore.

Errore HTTP 500.19 - Errore del server interno non è possibile accedere alla pagina richiesta perché i dati di configurazione correlati per la pagina non sono validi.

Informazioni dettagliate sull'errore:

Modulo Web Core dell'IIS

Notifica BeginRequest

Gestore Non ancora determinato

Codice di errore 0x80070021

Errore di configurazione Questa sezione di configurazione non può essere utilizzata in questo percorso.Ciò accade quando la sezione è bloccata a livello principale.Il blocco è predefinito (overrideModeDefault="Deny") o impostato esplicitamente da un tag di posizione con overrideMode="Deny" o il legacyallowOverride="false".

File di configurazione \?\C:\inetpub\wwwroot\APITeslin\web.config

Origine configurazione:

36:   <system.webServer>  
37:     <handlers>  
38:       <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
È stato utile?

Soluzione

ha ottenuto precisamente lo stesso errore e arrivò a questa domanda. Come @spaceBison menzionato nei commenti, questa risposta descrive la soluzione - https://stackoverflow.com/a/12867753/404099 . L'ho individuato troppo tardi e manca qualche passo. Questo è ciò che funzionava per me:

Windows Server 2012, IIS 8.5 . Dovrebbe funzionare anche per altre versioni.

    .
  • Vai a Server Manager, fai clic su Aggiungi ruoli e funzionalità
  • Nella sezione ruoli Scegliere: server Web
      .
    • Sotto la sottosezione di sicurezza Scegli tutto (ho escluso digest, restrizioni IP e autorizzazione dell'URL come non li usiamo)
    • Sotto lo sviluppo dell'applicazione Scegliere .NET Extensity 4.5, ASP.NET 4.5 ed entrambe le voci ISAPI
  • Nella sezione Caratteristiche Scegliere: rete 3.5, .NET 4.5, ASP.NET 4.5
  • Nella sezione Web Server Scegliere: Web Server (ALL), Strumenti di gestione (Console di gestione IIS e servizio di gestione), Autenticazione di Windows - Se si utilizza uno qualsiasi di esso

Altri suggerimenti

Ho ricevuto questo errore durante il tentativo di ospitare un servizio WCF in un'applicazione ASP.NET vuota.L'intera soluzione utilizzava la piattaforma .NET 4.5, su IIS 8.5 in esecuzione su Windows 8.1. The Gotcha era quello di

    .
  1. Apri "Attiva o disattivare le funzioni di Windows"
  2. Vai alla sezione WCF sotto ASP.NET 4.5 Servizi avanzati
  3. Controlla l'attivazione http.
  4. ti verrà chiesto di riavviare il sistema.

    Screen Shot

  5. Questo dovrebbe fissare HTTP 500.19!

    Modifica 11-FEB-2016 Ho appena ricevuto un problema su Windows 10 Pro, IIS 10, questa volta è stato un HTTP 404.0.La correzione è sempre la stessa, attiva "Attivazione HTTP" in Funzioni Windows -> .NET Framework 4.6 Servizi avanzati -> Servizi WCF -> Attivazione http

Ho anche ottenuto lo stesso problema, ma dopo l'annozione del cervello con IIS e Google per molte ore.Ho scoperto la soluzione. Questo errore è perché alcune impostazioni sono disabilitate in IIS applicationHost.config.

Di seguito sono riportati i passaggi per la soluzione:

    .
  1. Vai a C:\Windows\System32\inetsrv\config\applicationHost.config e Apri in Blocco note
  2. Modifica il seguente valore chiave presente in

      .
    • <section name="handlers" overrideModeDefault="Deny" /> Modifica questo valore da "Deny" a "Consenti"

    • <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> Cambia questo valore da "Deny" a "Consenti"

  3. Ha funzionato per me.

Se stai eseguendo IIS su quel computer per la prima volta, dovresti provare a eseguire lo strumento di registrazione ASP.NET IIS (ASPNET_REGIIS.EXE).

Ecco come farlo: Se si utilizza .NET Framework V4, apri il prompt dei comandi come amministratore e modifica la directory nella tua cartella di base .NET Framework utilizzando:

CD C:\Windows\Microsoft.NET\Framework\v4.0.30319
.

o, se stai usando un computer a 64 bit, utilizzare:

CD C:\Windows\Microsoft.NET\Framework64\v4.0.30319
.

Quando hai navigato con successo nella directory appropriata, eseguire lo strumento di registrazione ASP.NET IIS utilizzando:

aspnet_regiis -i
.

Se si utilizza una versione di .NET di .NET diversa, è sufficiente sostituire v4.0.30319 con il nome della cartella appropriato.

Spero che questo aiuti.

Ho risolto questo facendo quanto segue:

WebServer(ISS)->WebServer->Application Development
add .NET Extensibility 3.5
add .NET Extensibility 4.5
add ASP.NET 4.5
add ISAPI Extensions
add ISAPI Filters
.

EnterDescrizione dell'immagine qui

Su Windows 8.1, IIS 8.5 La soluzione per me è stata quella di registrarsi 4.5 dal pannello di controllo:

Programmi e caratteristiche> Attiva le funzioni di Windows On o Off> Informazioni Informazioni sui servizi> Servizi Web World Wide Web> Funzioni di sviluppo dell'applicazione> Seleziona ASP.NET 4.5

Fare clic su OK.

Come l'errore idnica - "ciò accade quando la sezione è bloccata a livello genitore".Per sbloccare la sezione è possibile utilizzare appcmd.exe ed esegui il seguente comando:

%windir%\system32\inetsrv\appcmd.exe unlock config -section:system.webServer/handlers -commitpath:apphost
.

Per ulteriori informazioni sul blocco della sezione e su quale contesto di configurazione genitore si riferisce a Documentazione IIS .

Nel mio caso, c'erano regole per IIS URL riscrivi modulo ma ionon ha installato quel modulo.Dovresti controllare il tuo web.config se ci sono moduli inclusi ma non installati.

Nel nostro caso, abbiamo lottato con questo errore per alcuni giorni.Si scopre che in Pannello di controllo, Programmi, attivare o disattivare le funzioni di Windows.

Abbiamo selezionato Servizi di informazioni su Internet, Servizi World Wide Web, Caratteristiche di sviluppo dell'applicazione e che controlliamo il set di funzioni associate al nostro ambiente di sviluppo.Ad esempio: ASP.NET 4.6..NET Extensitity 4.6, ecc.

funziona!

Prova a sbloccare le impostazioni di configurazione IIS (7.5) pertinenti a livello del server, come segue:

    .
  1. Apri IIS Manager
  2. Selezionare il server nel riquadro dei collegamenti
  3. Apri Editor di configurazione nel pannello principale
  4. Nelle sezioni a discesa, selezionare la sezione da sbloccare, ad es. System.Webserver> DefaultPath
  5. Fai clic su Unlock attributo nel riquadro destro
  6. Ripeti per qualsiasi altra impostazione che è necessario sbloccare
  7. Riavvia IIS (facoltativo) - Selezionare il server nel riquadro ConnceTions, fare clic su Riavvia nel riquadro Azioni

Web.config descrive che stai utilizzando Authentication Forms - Assicurati di abilitare l'autenticazione dei moduli e Disabilita Autenticazione anonima in IIS Sotto il menu Autenticazione, per il sito webquesto è in esecuzione in IIS.

Se è Windows 10, quindi aprire PowerShell come admin ed esegui il seguente comando:

dism /online /enable-feature /all /featurename:IIS-ASPNET45
.

Per favore <staticContent /> linea e cancellato da web.config.

Bene, stiamo usando i servizi Web Amazon e quindi stiamo cercando di utilizzare script e programmi per superare questo problema. Quindi sono stato sulla caccia per uno strumento di riga di comando. Quindi per prima cosa ho provato il trucco di eseguire

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

Ma perché sto eseguendo un server Windows Windows 2012 con basato su cloud, è lamentato

This option is not supported on this version of the operating system. Administrators should instead install/uninstall ASP.NET 4.5 with IIS8 using the "Turn Windows Features On/Off" dialog, the Server Manager management tool, or the dism.exe command line tool. For more details please see http://go.microsoft.com/fwlink/?LinkID=216771.

E ho goograto e trovato il funzionario Microsoft Support Page KB2736284 . Quindi c'è uno strumento di riga di comando dism.exe. Quindi ho provato il seguente

dism /online /enable-feature /featurename:IIS-ASPNET45

Ma si è lamentato e ha dato un elenco di orientamenti da provare, quindi ne ho provato uno per uno e ho testato la mia pagina web di wibapi dopo ciascuna e ha funzionato dopo quella inferiore nell'elenco.

dism /online /enable-feature /featurename:IIS-ApplicationDevelopment
dism /online /enable-feature /featurename:IIS-ISAPIFilter 
dism /online /enable-feature /featurename:IIS-ISAPIExtensions 
dism /online /enable-feature /featurename:IIS-NetFxExtensibility45 
.

E così ora posso navigare sul mio sito WebAPI e vedere le informazioni API. Questo dovrebbe aiutare alcune persone. [Tuttavia, non sono fuori dai boschi completamente me stesso e non riesco a raggiungere il sito web dall'esterno della scatola. Ancora lavorando su di esso.]

Inoltre, ho fatto alcuni passaggi precedenti seguendo le risposte di altre persone. Posso confermare che la seguente caratteristica delegazione deve essere modificata (anche se mi piacerebbe trovare uno strumento di riga di comando per questi).

In Feature delegation

Change 
'Handler Mappings' from Read Only to Read/Write

Change 
'Modules' from Read Only to Read/Write

Change 
'SSL Settings' from Read Only to Read/Write
.

Per le app core .NET su Windows Server (nel mio caso 2012 con IIS 10) ha funzionato dopo l'installazione .NET Core Windows Server Hosting Bundle ( link ).

Controllare se il server IIS ha installato la funzione di riscrittura dell'URL.
. Se non è installato, assicurati che il file Web.config non abbia la configurazione relativa a riscrittura dell'URL

<!-- Make sure don't have below config, if server have not installed url rewrite feature. -->
<rewrite>
  <rules>
    <rule name="Fail bad requests">
      <match url=".*"/> ...
.

Un po 'di tempo abbiamo copiato la configurazione dal server Legacy e dispiegamento immediato su un nuovo server del server, quindi potremmo incontrare un tale tipo di 500 numeri.

La soluzione che ha funzionato per me era di cancellare il mio attuale web.config e aggiungerne uno nuovo.Questo ha risolto il problema per me

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