Ottenere un’applicazione ASP.MVC2 / VS2010 per funzionare in IIS 7.5

Recentemente ho scaricato la beta 2 di VS2010 e ho iniziato a giocare con ASP.NET MVC2. Lo sviluppo iniziale è stato fatto con Casini, ma ora volevo eseguire l’applicazione da IIS 7.5 (sto utilizzando Windows 7). Ho installato la compatibilità della metabase di IIS6 e eseguo VS2010 come amministratore in modo da poter utilizzare il pulsante “Crea directory virtuale” dalla scheda “Web” delle impostazioni del progetto. Ciò ha creato la voce dell’applicazione Web in IIS, ma non funziona.

Quando vado alla pagina principale ( http: // localhost / MyMvcApp / ) ottengo un errore HTTP 403. Quando vado direttamente a una delle sotto-pagine ( http: // localhost / MyMvcApp / Home / ) ottengo un HTTP 404.

Quindi suppongo che per qualche motivo il routing dell’URL non funzioni. Ho già aggiunto UrlRouting come modulo e un gestore di web.config. Nelle mie ricerche questo è offerto come soluzione per alcuni problemi similair. Ma per me questo ancora non funziona.

La parte interessante del mio web.config riecheggia in questo modo:

                                                        

Ho appena avuto questo problema e sfortunatamente la correzione qui non ha funzionato per me.

Ciò che funzionava era il funzionamento di questo:

 %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir 

in una finestra di comando … funziona come un sogno ora!

(Quindi, ASP.Net non è installato in IIS per impostazione predefinita quando si installa VS2010?)

Dopo aver controllato e provato, ho notato nella finestra di dialogo “Attiva o distriggers le funzionalità di Windows” che mancavano “Errori HTTP” e “Reindirizzamento HTTP”. Questo è strano perché, per quanto posso ricordare, questo è stato installato automaticamente dal Microsoft Web Platform Installer. In ogni caso, “HTTP Redirection” sembrava una funzionalità indispensabile quando si lavora con MVC. Quindi, dopo averlo installato, tutto sembrava funzionare perfettamente.

Aggiungi questo al tuo file web.config :

     

È così doloroso farlo manualmente. Ma sicuramente fattibile ! L’ho gestito e riassunto in questa guida passo passo sull’aggiunta di un progetto mvc 2 a una soluzione di moduli Web esistente qui. Spero che questo aiuti … mi ci sono voluti anni per lavorare con tutte le impostazioni di configurazione e sembra che ci siano così poche risorse sull’argomento.

Quello che mi è stato d’aiuto è usare la pipeline classica per AppPool invece di integrare: alt text http://img823.imageshack.us/img823/3684/20100612135212.png

Nota che devi eseguire aspnet_regiis.exe -ir come amministratore, sembra ovvio, ma quando sei stanco di provare cose senza successo per risolverlo, puoi passarlo.

Solo per dire un grande GRAZIE a tutte le risposte, dopo molte ore provando cose diverse, finalmente ho potuto ottenere il lavoro la mia app MVC 2 in IIS.

Stavo creando un’applicazione MVC2 sul mio portatile Windows 7, utilizzando .net beta 2 e VS 2010 beta 2. Quando ho installato l’intero ambiente di sviluppo su Windows Server 2008, incluso VS, ho creato la soluzione e l’ho eseguita, il routing funzionava correttamente.

Il passo successivo è stato quello di creare un server di produzione su Windows Server 2008, su cui ho distribuito la versione beta 4.0 beta, ma nessuna delle altre cose incluse nel download della beta di VS 2010. Sotto questa configurazione il routing non ha funzionato fino a quando non abilito il reindirizzamento HTTP come indicato da Jeroen.

Spero che questo aiuti qualcuno che potrebbe essere nella stessa barca.

Volevo solo notare che stavo avendo lo stesso problema con 403 e 404 ma aggiungendo il system.webServer e tutti gli elementi dal nodo system.web/pages/namespaces ho risolto per me.