Aplikacja Server 2012 IIS 8 MVC wyświetla domyślną stronę główną usług IIS lub błędy 403/404

83

Uruchamianie Microsoft Server 2012 RC przy użyciu bezpłatnej aplikacji VirtualBox firmy Oracle. Użyto typu Bridged Network adapter w ustawieniach VirtualBox. Zainstalowane usługi AD i DNS, IIS. W opcjach IIS, Management Tools, kliknięto pole Management Services. Umożliwiło mi to użycie funkcji „Web Deploy” w programie Visual Studio 2012 RC. W systemie gościa korzystam z systemu Windows 7 Ultimate.

Udało mi się pomyślnie wdrożyć aplikację MVC 4 w domyślnej witrynie sieci Web usług IIS, ale nie była ona wyświetlana. Zamiast tego domyślną stroną główną usług IIS była. Wyłączyłem domyślną stronę główną i odświeżenie strony spowodowało wyświetlenie strony 403. Próbowałem wpisać jeden z widoków i wyświetlono stronę 404.

Hillbilly Coder
źródło
4
Dziękuję Ci! Te opcje są łatwe do przeoczenia. Pomogłeś mi!
Jon Kragh
Windows 8 też na tym cierpi!
joshcomley
Jak mówi Jon, nawet ja zrobiłem kilka konfiguracji IIS 8, przegapiłem dzisiaj ...
Novkovski Stevo Bato
dziękuję za to, doprowadzało mnie do szaleństwa
kosmonauta

Odpowiedzi:

31

Spędziłem 2 dni próbując znaleźć rozwiązanie tego problemu iw końcu to zrobiłem. Chciał podzielić się ze społecznością na wypadek, gdyby komuś pomogło.

Wszystkie artykuły i wiadomości na forum, na które natknąłem się w Internecie, zaczęły się odzwierciedlać w takiej czy innej formie.

Jedno rozwiązanie mówiło o upewnieniu się, że masz odpowiednią konfigurację puli aplikacji, korzystając z frameworka 4.0 i zintegrowanej. [x] Potwierdzone już ustawione prawidłowo.

Inne rozwiązanie rozszerzyło kierunek użycia „aspnet_regiis -i” lub „aspnet_regiis -ir”, które nie działają na Microsoft Server 2012.

Inne rozwiązanie mówiło o dodaniu następującego pliku do web.config:

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

Jednak IIS 8 podaje odpowiedź na to powiedzenie, że te ustawienia są zablokowane z wyższego poziomu konfiguracji i nie mogą być używane na poziomie aplikacji. Meh, ok.

Ostatecznie znalazłem artykuł, który doprowadził mnie do następującej strony: http://learn.iis.net/page.aspx/1097/iis-80-using-aspnet-35-and-aspnet-45

Rozwiązaniem było powrót do pulpitu nawigacyjnego Microsoft Server 2012 i wybranie funkcji „Dodaj role”. Przewiń w dół do głównego „Web Server (IIS)”, rozwiń „Web Server”, rozwiń „Application Development” i wybierz „ASP.NET 3.5” i „ASP.NET 4.5” oraz „Install”.

Początkowo zdezorientowało mnie, że nie rozszerzyłem „Tworzenie aplikacji”, ale wybrałem usługi IIS i kontynuowałem. W następnym kroku „Funkcje”, „Funkcje .NET Framework 4.5” zostały wybrane domyślnie, więc wybrałem „Funkcje .NET Framework 3.5” i pomyślałem, że wszystko będzie dobrze.

Po zainstalowaniu wyborów w obszarze „Tworzenie aplikacji” aplikacje MVC 4.5 działają tak, jak zostały zaprojektowane. Mam nadzieję, że pomoże to każdemu, kto utknął, tak jak ja.

Hillbilly Coder
źródło
1
Najwyraźniej to wciąż gryzie ludzi - więc przeniosłem twoją odpowiedź do ... Odpowiedź. Mam nadzieję, że nie masz nic przeciwko ...
Shog9,
Dzięki za wysłanie wiadomości. Teraz możemy dodać wymagania .NET 4.5.2 do miksu dla najnowszej wersji serwera Windows + IIS dla aplikacji MVC 5. Najwyraźniej jedynym sposobem dodania jest bezpośrednie pobieranie lub za pośrednictwem instalatora platformy internetowej. Funkcje systemu Windows nie mają wersji 4.5.2
sumitkm
Dzieje się tak nadal (2017 r.), Nawet po zainstalowaniu wszystkich aktualizacji w systemie Windows Server 2012. Dzięki!
John Isaiah Carmona,
0

Wybrałem „Funkcje .NET Framework 3.5” i pomyślałem, że wszystko będzie dobrze !!! Żadne inne działania nie pomogły. Kiedy ten problem pojawił się „nagle”. Przez chwilę wszystko działało. Ale po kolejnym opublikowaniu aplikacja działała przez kilka minut, po czym popadła w błąd 403.14

Clevelus
źródło
0

Wszystko, czego potrzebujesz, to po prostu zmienić tryb debugowania kompilacji na true w konfiguracji sieciowej i zachować tę samą inną właściwość. Otwórz folder publikowania i otwórz plik Web Config.

<configuration> <compilation debug="true"> </compilation> </configuration>

Abdul Basit
źródło