Nie można uzyskać niczego oprócz 403 ze strony internetowej .Net 4.5

10

Scenariusz: instalacja Clean Server 2008 R2 z rolą IIS.

Zainstalowany Framework 3.5 (Funkcje serwera) Zainstalowany Framework 4.5 RC (MS Download)

wykonany

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis.exe -i

(Użyłbym -iruna istniejących serwerach, ale jest to czysta wersja).

Opublikowane przez system plików (udział SMB)

Przekształcił folder w aplikację za pomocą zintegrowanej puli aplikacji .Net 4.0

Zatrzymałem / zrestartowałem wszystko.

Przeglądanie do localhost/TestAppwyników 403.14 (przeglądanie katalogów zabronione)

Jaki krok przegapiłem? Witryna, o której mowa, to MVC4 i jest ukierunkowana na środowisko RC 4.5

Podstawowy
źródło
Czy upewniłeś się, że domyślny dokument znajduje się na domyślnej liście dokumentów?
Brent Pabst
@BrentPabst Będąc MVC, nie ma dokumentu domyślnego - polega on na przepisywaniu adresów URL przez IIS w celu ustalenia, który kontroler / akcję wykonać. Jeśli to się nie powiedzie, spodziewam się innego komunikatu o błędzie. Wygląda na to, że parsowanie adresu URL nie jest wywoływane, co zwykle oznacza, że ​​.Net nie jest poprawnie zarejestrowany w IIS. Powiedziawszy to, jest zarejestrowany i zainstalowałem odpowiednie role IIS (właściwie mam teraz wszystkie role IIS), więc nie jestem pewien, jak najlepiej to zdiagnozować
Basic
przepraszam, jestem ślepy i przegapiłem część 4.5 MVC. Tak czy inaczej, dlaczego zarejestrowałeś .NET 4.0 po zainstalowaniu 4.5? Nigdy nie musiałem rejestrować .NET na żadnym serwerze internetowym, ponieważ instalator robi to automatycznie. W każdym razie myślę, że zarejestrowałeś niewłaściwe programy obsługi .NET. Jednak w wersji 4.5 i MVC powinieneś przynajmniej zobaczyć YSOD, który mówi, że nie można załadować globalnego ASAX.
Brent Pabst,
@BrentPabst Musiałem aspnet_regiiswcześniej, ale tylko wtedy, gdy IIS jest instalowany po .Net (wydaje się rozsądny). Tak nie było w tym przypadku, ale ponieważ w wielu sugerowanych odpowiedziach jest to problem, pomyślałem, że spróbuję. 4.5 całkowicie wymienić 4.0. Zgadzam się, że nie dostanie YSOD jest dziwne - Jak powiedziałem, wygląda na to, że w ogóle nie traktuje go jako strony .Net
Podstawowy
1
Cieszę się, że wszystko się udało. Twoja głowa musiała być gotowa do wybuchu!
Brent Pabst,

Odpowiedzi:

21

Miałem podobny problem. Ten wątek /programming/2374957/asp-net-mvc-on-iis-7-5 rozwiązał go dla mnie. Zasadniczo spróbuj dodać to do pliku web.config:

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

Jeśli to działa, możesz spróbować go usunąć i zamiast tego zainstalować tę poprawkę: http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=5272

Shildrak
źródło
Dziękuję, że to rozwiązałeś. Walę w to głową od wielu godzin. Nie uwierzyłbyś żalu, które otrzymałem z biura „facet z Linuksem”. W tym przypadku myślę, że ma rację ...
Podstawowy
1
Dziękuję Ci! W moim przypadku polecenie runAllManagedModulesForAllRequests nie pomogło, ale poprawka zrobiła to.
NateTheGreat
Dla mnie również runAllManagedModulesForAllRequests nie pomogło, ale poprawka pomogła - dzięki za link
Anil Purswani,
Uratowałeś mi dzień!
labilbe
0

Interfejs użytkownika jest nieco inny w nowszych wersjach systemu Windows Server. Tutaj musisz włączyć ASP.Net, aby działał na IIS

Napraw IIS i Asp.net

Matthew Zourelias
źródło