2013-01-14 10 views
5

Funziona su localhost, ma non trova alcun documento predefinito sul server web e si lamenta della disabilitazione della navigazione nella directory. IIS7 su entrambi e entrambi i siti Web/pool di app sembrano configurati in modo identico.MVC4 web api non trova il documento predefinito una volta distribuito al server web

Ho utilizzato il modello API Web in VS2012, che in realtà non ha alcuna vista. Ha solo un'azione del controller di indice nel HomeController.

Qualche idea sul perché questo potrebbe produrre un comportamento diverso nei due ambienti?

+0

Solo per curiosità, hai già pubblicato un'app MVC su questo server? – Anonymous

+0

Sì, ha un altro sito MVC su di esso (su una porta diversa) che funziona come previsto. – natpen

risposta

8

Quindi questo oltre al mio web.config:

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

risolto il problema. Sembra essere richiesto nel web.config per IIS7 su Windows 2008 Server, ma non per IIS7 su Windows 7.

+1

Basta sprecare circa 1/2 al giorno su questo, grazie mille! – Neil

+0

Grazie! Ho riscontrato questo problema durante la distribuzione manuale di API Web o l'utilizzo di un pacchetto Web. – sp1111

0

Avevo un utente che tentava di pubblicare un'applicazione MVC4 su IIS7 ricevendo questo errore, si è scoperto che era perché l'utente aveva impostato il pool di applicazioni per l'uso di .Net 2 invece di .Net 4. Invece di ottenere un errore che lo indicava, essi ricevevano l'errore di cui sopra, e solo quando abbiamo aggiunto il modulo precedente il problema reale era stato scoperto.

Problemi correlati