2013-04-23 9 views
6

Ho un progetto ASP.NET MVC 4 che utilizza .NET 4.5 che sto cercando di pubblicare su IIS 7.0 usando Visual Studio 2012. Quando eseguo il debug dell'applicazione in IIS Express, tutto funziona perfettamente. Quando lo pubblico sul server, le richieste MVC restituiscono 404. Ho alcune pagine aspx sul sito e funzionano tutte bene. Di seguito è riportato il mio schema di routing. È il codice boilerplate:Applicazione MVC 4 che genera un 404 quando viene distribuito

routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

routes.MapRoute(
    name: "Default", 
    url: "{controller}/{action}/{id}", 
    defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
); 

Grazie.

Modifiche:

ho preso! Ho dovuto aggiungere la seguente al system.webServer nel mio web.config:

<modules runAllManagedModulesForAllRequests="true"/> 

Qualcuno può dirmi perché questo è?

+0

Is MVC4 e .net 4.5 installato sul server? –

+0

Sì, entrambi sono installati. – Jordan

+0

Bene, ho installato .NET 4.5, ma cosa dovrei installare sul server per MVC 4? – Jordan

risposta

1

Questo riferimento può aiutare:.

https://www.iis.net/configreference/system.webserver/modules

"runAllManagedModulesForAllRequests avevano in precedenza per essere impostata su true per supportare il routing Tuttavia, una volta IIS 7 è stato aggiornato con un Service Pack, il valore di runAllManagedModulesForAllRequests può essere impostato su falso o omesso quando si lavora con il routing ASP.NET. "

(ovviamente l'installazione di un IIS o service pack di Windows ha bisogno di un attento esame prima)

+0

Questo era quasi 3 anni fa. Non ricordo nemmeno quale progetto stavo lavorando. Grazie per le informazioni. – Jordan

2
<modules runAllManagedModulesForAllRequests="true"/> 

Riferimento: Here

+0

Questo non lo spiega abbastanza per il mio problema specifico. – Jordan

+0

Questa risposta sarebbe meglio se il contenuto del link fosse riassunto qui nel caso in cui il collegamento muoia – reggaeguitar

Problemi correlati