Impossibile ottenere nulla tranne 403 da un sito Web .Net 4.5


10

Scenario: installazione pulita di Server 2008 R2 con ruolo IIS.

Installato Framework 3.5 (funzionalità server) Installato Framework 4.5 RC (download MS)

eseguito

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

(Userei -irusu server esistenti ma questa è una build pulita).

Pubblicato tramite File System (condivisione SMB)

Conversione della cartella in un'applicazione mediante il pool di app integrato .Net 4.0

Arrestato / riavviato tutto.

Navigazione per localhost/TestApprisultati in un 403.14 (navigazione directory proibita)

Quale passo mi sono perso? Il sito in questione è MVC4 e si rivolge al framework 4.5 RC


Ti sei assicurato che il tuo documento predefinito sia nell'elenco dei documenti predefiniti?
Brent Pabst,

@BrentPabst Essendo MVC, non esiste un documento predefinito: si basa sulla riscrittura degli URL da parte di IIS per determinare quale controller / azione eseguire. Se ciò non funzionasse, mi aspetterei un messaggio di errore diverso. Sembra che l'analisi dell'URL non venga invocata, il che di solito significa che .Net non è registrato correttamente in IIS. Detto questo, è registrato e ho installato i ruoli IIS appropriati (in realtà, ora ho tutti i ruoli IIS), quindi non sono sicuro del modo migliore per diagnosticare questo
Base

scusa, sono cieco e ho perso la parte 4.5 MVC. Ad ogni modo, perché hai registrato .NET 4.0 dopo l'installazione 4.5? In realtà non ho mai dovuto registrare .NET su alcun server Web perché il programma di installazione lo fa automaticamente. Ad ogni modo, penso che tu abbia registrato i gestori .NET sbagliati. Tuttavia, con 4.5 e MVC dovresti almeno vedere un YSOD che dice che l'ASAX globale non può essere caricato.
Brent Pabst,

@BrentPabst ho dovuto farlo aspnet_regiisprima, ma solo quando IIS è installato dopo .Net (sembra ragionevole). Non è stato qui il caso, ma dato che molte delle risposte suggerite menzionano questo come problema, ho pensato di provarlo. 4.5 sostituisce completamente 4.0. Sono d'accordo che non ottenere YSOD sia strano - Come ho già detto, sembra che non lo stia trattando come una pagina .Net
Base

1
Sono contento che tu abbia risolto tutto. La tua testa deve essere stata pronta per esplodere!
Brent Pabst,

Risposte:


21

Ho avuto un problema simile. Questa discussione /programming/2374957/asp-net-mvc-on-iis-7-5 l'ha risolto per me. Fondamentalmente prova ad aggiungere questo al tuo web.config:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer>

Se funziona, puoi provare a rimuoverlo e installare questo aggiornamento rapido: http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=5272


Grazie, questo l'ha risolto. Ho battuto la testa contro questo per ore. Non crederesti al dolore che ho ricevuto dall'ufficio "linux guy". In questo caso, penso che abbia ragione ...
Basic

1
Grazie! Nel mio caso, runAllManagedModulesForAllRequests non ha aiutato, ma l'aggiornamento rapido l'ha fatto.
NateTheGreat,

Anche per me runAllManagedModulesForAllRequests non ha aiutato, ma l'aggiornamento rapido ha fatto - grazie per il link
Anil Purswani

Mi hai salvato la giornata!
labilbe,

0

L'interfaccia utente è leggermente diversa nelle versioni più recenti di Windows Server. Qui è dove devi abilitare ASP.Net per farlo funzionare su IIS

Correggi IIS e Asp.net

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.