IIS8 Win8 i runAllManagedModulesForAllRequests = „true”

84

Próbuję uruchomić aplikację w IIS8, która ma następujące elementy w konfiguracji:

<modules runAllManagedModulesForAllRequests="true" />

IIS8 wyświetla błąd, który mówi ...

Ta sekcja konfiguracji nie może być używana w tej ścieżce. Dzieje się tak, gdy sekcja jest zablokowana na poziomie rodzica. Blokowanie jest albo domyślnie (overrideModeDefault = "Deny"), albo ustawiane jawnie przez znacznik lokalizacji z overrideMode = "Deny" lub starszym allowOverride = "false".

Zgaduję po błędzie i szybkim wyszukiwaniu SO, że istnieje jakieś ustawienie bezpieczeństwa wyższego poziomu, które uniemożliwia zezwolenie na tę linię. Jakieś pomysły?

David Sulpy
źródło

Odpowiedzi:

148

Rozwiązałem ten sam problem, instalując funkcje okna „Internet Information Service / World Wide Web Service / Application Development / ASP.NET xx” w Panelu sterowania systemu Windows8. Jeśli chcesz ustawić w systemie Windows Server 2012, poniższe łącze daje wskazówkę. http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-using-aspnet-35-and-aspnet-45

mam nadzieję, że się uda.

taky.kim
źródło
2
To jest dokładnie to ... Po prostu nie włączyłem tych funkcji w Windows 8. Dziękuję bardzo za odpowiedź!
David Sulpy
To naprawdę jest problem, który IIS8 traktuje jako błąd podczas próby wdrożenia.
Johnny_D
1
Świetny ! Pracowałem na Windows 8
Sanoop
1
Jest to również rozwiązanie w systemie Windows 10. Wielkie dzięki!
Yang You
16

Dla tych z Was, którzy używają systemu Windows Server 2012, funkcje tworzenia aplikacji można znaleźć pod adresem

[] Server Roles [] Web Server IIS [] Web Server [] Application Development [] ASP.NET x.x

Po wybraniu wersji .NET zostanie wyświetlone pytanie, czy chcesz dodać rozszerzenia i inne funkcje. Właśnie powiedziałem tak, ale możesz uciec bez ich instalowania.

Koleś
źródło
1

trudno tu podać konkretną odpowiedź, ale podstawą jest to, że musisz spojrzeć na plik machine.config dla pudełka, na którym uruchomisz. znajdź system.webServerwęzeł i poszukaj 3 tagów / atrybutów, do których odwołuje się w błędzie. jest szansa, że ​​znajdziesz coś, co jest oznaczone jako nie do zastąpienia ( allowOverride="false"), ale nie majstrowałem jeszcze w systemie Windows 8 / Server 2012, więc nie wiem, jak wygląda plik machine.config.

nathan gonzalez
źródło
Co ciekawe, C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.confignie ma tam sekcji system.webServer, chociaż brzmi to jak odpowiedź
David Sulpy