2013-04-23 14 views
6

Mam projekt ASP.NET MVC 4 przy użyciu .NET 4.5, który próbuję opublikować do IIS 7.0 przy użyciu Visual Studio 2012. Kiedy debuguję aplikację w IIS Express wszystko działa cudownie. Kiedy publikuję go na serwerze, żądanie MVC zwraca 404. Mam kilka stron aspx na stronie i wszystkie działają poprawnie. Poniżej znajduje się mój schemat routingu. Jest to kod standardowy:Aplikacja MVC 4 dająca 404 po wdrożeniu

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

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

Dzięki.

Edits:

mam go! Musiałem dodać następujące system.webServer w moim web.config:

<modules runAllManagedModulesForAllRequests="true"/> 

Czy ktoś może mi powiedzieć, dlaczego tak jest?

+0

Czy MVC4 i .net 4.5 zainstalowany na serwerze? –

+0

Tak, oba są zainstalowane. – Jordan

+0

Cóż, mam zainstalowany .NET 4.5, ale co muszę zainstalować na serwerze dla MVC 4? – Jordan

Odpowiedz

1

Odniesienie to może pomóc.

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

„runAllManagedModulesForAllRequests wcześniej musiały być ustawione na true, aby obsługiwać routing Jednak, gdy IIS 7 został zaktualizowany Service Pack, wartość runAllManagedModulesForAllRequests można ustawić na false lub pominąć podczas pracy z routingiem ASP.NET. "

(oczywiście zainstalowanie IIS lub usługa Windows paczka wymaga starannego rozważenia pierwszy)

+0

To było prawie 3 lata temu. Nie pamiętam nawet, nad którym projektem pracowałem. Dzięki za informację. – Jordan

2
<modules runAllManagedModulesForAllRequests="true"/> 

referencyjny: Here

+0

To nie wyjaśnia tego z mojego konkretnego problemu. – Jordan

+0

Ta odpowiedź byłaby lepsza, gdyby treść linku została podsumowana tutaj, na wypadek, gdyby link umarł – reggaeguitar

Powiązane problemy