it-swarm.it

Come posso risolvere l'errore 404.17 su Win Server 2k8 e IIS7

Ho installato un nuovo sito Web .net 2.0 su IIS 7 su Win Server 2k8 e quando si naviga su una pagina mi viene dato un errore 404.17, sostenendo che il file (default.aspx in questo caso) sembra essere uno script ma viene gestito dal gestore file statico. Sembra come se le mappature dei moduli per ASP.Net si siano incasinate, ma sembrano buone nelle configurazioni. Qualcuno ha un suggerimento per correggere questo errore?

19
Scott Mayfield

Ho avuto questo problema su IIS6 una volta quando in qualche modo il materiale ISAPI di ASP.NET era rotto.

In esecuzione 

%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i 

per ricreare le impostazioni ci siamo presi cura di esso.

26
Jonathan Rupp

Questa soluzione ha funzionato per me ... (Ho avuto aspnet_regiis.exe -i fare qualche danno)

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

 1. Individua il pool di app e fai clic destro 
 2. Seleziona Impostazioni di base 
 3. Seleziona la tua versione .Net Framework corrente 
 4.Riavvia il Pool di App 
11
Zim

Per me ha funzionato facendo quanto segue 

Installa ASP.NET

cd %windir%\Microsoft.NET\Framework64/v4.0.30319
aspnet_regiis.exe -i
  • Avanti Vai a IIS Manager e fai clic sul nodo del server (root).
  • Nella vista delle caratteristiche, IIS sezione, apri "Restrizioni ISAPI e CGI"
  • Fare clic con il pulsante destro del mouse sulla colonna di restrizione di ASP.NET 4 e fare clic con il tasto destro del mouse su Consenti

Spero che funzioni per te ..

6
ESiddiqui

Prova sempre "Ripristina il padre" in Mapping gestori.

Stavo diventando 404.17 quando provavo a eseguire ASP.NET 4.0 in IIS 7.5. Ho provato tutto quanto sopra e alla fine ho ottenuto la corretta impostazione manuale dei gestori e l'errore è andato via.

Quindi, su un altro sito Web con lo stesso errore, ho provato "Revert to Parent" in Handler Mappings e aggiunto 6 * mapping .aspx e tutto ha funzionato perfettamente. 

Ovviamente, dovresti avere il genitore configurato correttamente (dall'installazione o in altro modo), ma questo è sicuramente il primo passo che tutti dovrebbero prendere dal momento che è così facile.

4
Brad

Per me, il mio problema è venuto a causa di un'impostazione nel file web.config del mio progetto (e anche della soluzione, una volta compreso il problema).

Nel mio file web.config, avevamo queste due righe nel system.webServer> handlers area:

<remove name="WebServiceHandlerFactory-ISAPI-2.0" />
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

Si noti che il gestore alternativo ha l'attributo 'preCondition = "integratedMode"'. Quindi, ho dovuto cambiare il mio AppPool per usare Integrated invece di Classic per la mia modalità pipeline setting (che è l'opposto di quello che le soluzioni di cui sopra mi hanno detto di fare).

4
palswim

Per me la soluzione era fare clic su "Ripristina ereditato" dalla sezione dei mapping del gestore sotto l'applicazione virtuale.

3
relegated

Per me questo è stato risolto impostando l'applicazione a 32 bit su true.

1
genuinebasil

Finora, nessuna di queste soluzioni ha funzionato per me.

Ho trovato alcune altre possibili soluzioni (che non ha funzionato per me):

1
palswim

Solo un modo per risolvere questo problema ...

Primo installato Windows7 Quindi installare IIS 7 con tutte le funzionalità

E quindi installato Visual Studio 2008/2010

Lavoro su Visual Studio 2008 e 2010 ma non ho mai visto questo errore prima.

Posso anche provare il PC del mio amico. E anche io risolvo questo errore.

1
Nilay

Avevamo bisogno di installare ASP.NET 3.5 e 4.5, ISAPI Extensions, ISAPI Filters e Server Side Includes, nel menu Funzioni di Windows in IIS Funzionalità di sviluppo.

In alternativa, fare con la riga di comando DISM:

Dism /online /enable-feature /featurename:NetFx3 /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:NetFx4 /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:IIS-ISAPIExtensions /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:IIS-ISAPIFilter /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:IIS-ServerSideIncludes /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
0
Chris

Nel mio caso, nessuna delle risposte precedenti ha risolto il problema, e il motivo era che il modulo CGI non era installato .

Per risolvere questo ho seguito queste istruzioni.

https://docs.Microsoft.com/en-us/iis/configuration/system.webserver/cgi

0

l'attivazione http sotto i servizi WCF nelle funzioni di attivazione/disattivazione di Windows ha risolto il problema.

0
Naveed Khan

Per me era l'attivazione HTTP non è stata verificata nelle funzionalità del server.

0
Andy Jones

Per me, questo ha funzionato. Installa le sezioni di configurazione della macchina, i gestori, gli assembly, i moduli, i protocolli e molte altre cose per funzionare correttamente.

0
gapo
%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i

ha funzionato per me dopo aver ottenuto "Si è tentato di caricare un programma con un formato errato ..." con il framework 32

forse non ti risparmi più di un altro su google

0
lior hakim

Non di quanto sopra ha funzionato per me. Il nostro server è a 64 bit, quindi l'impostazione dell'applicazione per consentire alle applicazioni a 32 bit ha funzionato per noi:

  • Vai a Server Web\Pool di applicazioni
  • Fare clic con il pulsante destro del pool di applicazioni utilizzato dal sito Web.
  • Fai clic su Impostazioni avanzate ...
  • Impostare "Abilita applicazioni a 32 bit" su True.

Penso che questo sia dovuto al fatto che l'applicazione web è stata compilata solo per 32 bit.

0
tvbusy