2012-07-03 28 views
9

Quando ho ricevuto una casella Windows 7 appena configurata, ho notato che ASP.NET era disattivato per impostazione predefinita. Quindi era ASP classico. Stavo ricevendo un errore 404.17 per un'applicazione web. Penso che sia perché non ho un tipo MIME "aspx". Anche se è solo una supposizione. Quando li ho accesi in Pannello di controllo> Programmi e funzionalità> Attiva o disattiva funzionalità Windows, e riavviato il mio computer Windows 7, i tipi MIME non sono mai stati visualizzati. Qualcuno può controllare quale tipo di MIME hanno per le pagine * .aspx e dirmi la configurazione in modalità di modifica? Quali altri tipi MIME mancherò per le estensioni ASP.NET (es: ashx, asax, ecc ...)? Qual è il modo migliore per configurarli tutti?Mancanti tipi MIME in IIS 7 per ASP.NET - 404.17

Error Summary 
    HTTP Error 404.17 - Not Found 
    The requested content appears to be script and will not be served by the static file handler. 

... 

Module: StaticFileModule 
Notification: ExecuteRequestHandler 
Handler: StaticFile 
Error Code: 0x80070032 
Requested URL: ... 
Physical Path: ... 
Logon Method: NTLM 
Logon User: {DOMAIN}\{WINDOWS LOGIN} 

... 

Most likely causes: 

The request matched a wildcard mime map. The request is mapped to the static file handler. If there were different pre-conditions, the request will map to a different handler. 

... 

Things you can try: 

If you want to serve this content as a static file, add an explicit MIME map. 

risposta

14

Fix:

ho scelto il "ISAPI & Restrizioni CGI" dopo aver cliccato il nome del server (non il nome del sito) in Gestione IIS, ea destra premendo il tasto "ASP.NET v4 .0.30319 "linee e scelto" Permetti ".

Dopo aver attivato ASP.NET da "Programmi e funzionalità> Attiva o disattiva funzionalità di Windows", è necessario installare ASP.NET dal prompt dei comandi di Windows. I tipi MIME non si presentano mai, ma dopo aver eseguito questo comando, ho notato che queste estensioni venivano visualizzate nella sezione "Mapping gestori" di IIS Manager del sito Web IIS.

C:\>cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319 

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>dir aspnet_reg* 
Volume in drive C is Windows 
Volume Serial Number is 8EE6-5DD0 

Directory of C:\Windows\Microsoft.NET\Framework64\v4.0.30319 

03/18/2010 08:23 PM   19,296 aspnet_regbrowsers.exe 
03/18/2010 08:23 PM   36,696 aspnet_regiis.exe 
03/18/2010 08:23 PM   102,232 aspnet_regsql.exe 
       3 File(s)  158,224 bytes 
       0 Dir(s) 34,836,508,672 bytes free 

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis.exe -i 
Start installing ASP.NET (4.0.30319). 
..... 
Finished installing ASP.NET (4.0.30319). 

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

Tuttavia, ho ancora ricevuto questo errore. Ma se fai ciò che ho menzionato per il "Fix", questo andrà via.

HTTP Error 404.2 - Not Found 
The page you are requesting cannot be served because of the ISAPI and CGI Restriction list settings on the Web server. 
+0

È possibile elencare quali impostazioni di IIS7 sono state attivate? –

+0

Stai chiedendo le impostazioni che ho visto sotto la sezione "Mapping gestori", che è apparso dopo aver eseguito il comando "aspnet_regiis.exe -i"? Ce n'erano diversi (es .: asmx, ashx, aspx, asax, ecc ...) – MacGyver

+1

Nel Pannello di controllo, sono andato su "Programmi e funzionalità> Attiva o disattiva le funzionalità di Windows> Internet Information Services (IIS)> Servizi Web > Caratteristiche di sviluppo dell'applicazione> ASP.NET "... tra gli altri – MacGyver

1

Ci sono due motivi si potrebbe ottenere questo messaggio:

  1. ASP.Net non è configurato. Per questo esegui dal comando Amministratore %FrameworkDir%\%FrameworkVersion%\aspnet_regiis -i. Leggi attentamente il messaggio. Su Windows8/IIS8 si potrebbe dire che questo non è più supportato e potrebbe essere necessario utilizzare la finestra di dialogo Attiva/Disattiva funzionalità di Windows in Installa/Disinstalla un programma nel Pannello di controllo.
  2. Un altro motivo potrebbe verificarsi perché il pool di app non è configurato correttamente. Ad esempio, hai creato un sito Web per WordPress e vuoi anche inserire alcuni file aspx, WordPress crea un pool di app che dice che non esegui roba CLR. Per risolvere questo problema basta aprire App Pool e abilitare CLR.