Mam prostą kompilację webAPI autorstwa Visual Studio 2013. Działa dobrze, kiedy uruchamiam ją z VS13, ale kiedy kopiuję projekt w lokalnych usługach IIS, pojawia się następujący błąd.
Błąd HTTP 500.19 - Wewnętrzny błąd serwera Nie można uzyskać dostępu do żądanej strony, ponieważ powiązane dane konfiguracyjne strony są nieprawidłowe.
Szczegółowe informacje o błędzie:
Moduł IIS Web Core
Powiadomienie BeginRequest
Handler Jeszcze nie ustalony
Kod błędu 0x80070021
Błąd konfiguracji Z tej sekcji konfiguracji nie można korzystać w tej ścieżce. Dzieje się tak, gdy sekcja jest zablokowana na poziomie nadrzędnym. Blokowanie jest albo domyślnie (overrideModeDefault = „Odmów”), albo jawnie ustawione przez tag lokalizacji z overrideMode = „Odmów” lub starsze zezwalanieOverride = „false”.
Plik konfiguracyjny \? \ C: \ inetpub \ wwwroot \ APITeslin \ web.config
Źródło konfiguracji:
36: <system.webServer>
37: <handlers>
38: <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
źródło
Odpowiedzi:
Dostałem dokładnie ten sam błąd i trafiłem na to pytanie. Jak wspomniano w komentarzach @SpaceBison, odpowiedź ta opisuje rozwiązanie - https://stackoverflow.com/a/12867753/404099 . Zauważyłem to za późno i brakuje mi kilku kroków. Oto, co zadziałało dla mnie:
Windows Server 2012, IIS 8.5 . Powinien działać również w przypadku innych wersji.
źródło
Wystąpił ten błąd podczas próby hostowania usługi WCF w pustej aplikacji ASP.NET. Całe rozwiązanie wykorzystywało platformę .NET 4.5 na IIS 8.5 z systemem Windows 8.1. Gotcha miał
Otwórz „Włączanie lub wyłączanie funkcji systemu Windows”
Przejdź do sekcji WCF w ramach zaawansowanych usług ASP.NET 4.5
Sprawdź aktywację HTTP.
Zostaniesz poproszony o ponowne uruchomienie systemu.
To powinno naprawić HTTP 500.19!
EDYCJA 11-FEB-2016 Właśnie dostałem problem na Windows 10 Pro, IIS 10, tym razem był to HTTP 404.0. Poprawka jest nadal taka sama, włącz „Aktywacja HTTP” w Funkcje systemu Windows -> Zaawansowane usługi .NET Framework 4.6 -> Usługi WCF -> Aktywacja HTTP
źródło
Miałem również ten sam problem, ale po burzy mózgów z IIS i Google przez wiele godzin. Znalazłem rozwiązanie. Ten błąd występuje, ponieważ niektóre ustawienia są wyłączone w IIS
applicationHost.config
.Poniżej znajdują się kroki do rozwiązania:
C:\Windows\System32\inetsrv\config\applicationHost.config
i otwórz w notatnikuZmień następującą wartość klucza obecną w
<section name="handlers" overrideModeDefault="Deny" />
zmień tę wartość z „Odmów” na „Zezwól”<section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />
zmień tę wartość z „Odmów” na „Zezwól”To zadziałało dla mnie.
źródło
Jeśli uruchamiasz IIS na tym komputerze, powinieneś spróbować uruchomić narzędzie rejestracyjne ASP.NET IIS (aspnet_regiis.exe).
Oto jak to zrobić: Jeśli używasz .NET Framework v4, otwórz wiersz polecenia jako administrator i zmień katalog na folder podstawowy .NET Framework, używając:
lub, jeśli używasz komputera 64-bitowego, użyj:
po pomyślnym przejściu do odpowiedniego katalogu uruchom narzędzie rejestracyjne ASP.NET IIS, używając:
Jeśli używasz innej wersji .NET Framework, po prostu zamień
v4.0.30319
na odpowiednią nazwę folderu.Mam nadzieję że to pomoże.
źródło
Rozwiązałem to, wykonując następujące czynności:
źródło
W Windows 8.1, IIS 8.5 rozwiązaniem było dla mnie zarejestrowanie 4.5 z panelu sterowania:
Programy i funkcje> Włącz lub wyłącz funkcje systemu Windows> Usługi informacyjne> Usługi WWW> Funkcje tworzenia aplikacji> Wybierz ASP.NET 4.5
Kliknij OK.
źródło
Jak wskazuje błąd - „Dzieje się tak, gdy sekcja jest zablokowana na poziomie nadrzędnym”. Aby odblokować sekcję, możesz użyć appcmd.exe i wykonać następujące polecenie:
Więcej informacji na temat blokowania sekcji i kontekstu konfiguracji nadrzędnej znajduje się w dokumentacji IIS .
źródło
W naszym przypadku zmagaliśmy się z tym błędem przez kilka dni. Okazuje się, że w panelu sterowania, programach włączaj lub wyłączaj funkcje systemu Windows.
Wybraliśmy Internetowe usługi informacyjne, usługi internetowe, funkcje tworzenia aplikacji i tam sprawdzamy zestaw funkcji związanych z naszym środowiskiem programistycznym. Na przykład: ASP.NET 4.6. .NET Extensibility 4.6 itp.
To działa!
źródło
Spróbuj odblokować odpowiednie ustawienia konfiguracji IIS (7.5) na poziomie serwera w następujący sposób:
źródło
W moim przypadku istniały reguły dla modułu IIS URL Rewrite , ale nie zainstalowałem tego modułu. Powinieneś sprawdzić swój web.config, jeśli są jakieś moduły zawarte, ale nie zainstalowane.
źródło
Jeśli jest to Windows 10, otwórz PowerShell jako administrator i uruchom następującą komendę:
źródło
Twój web.config opisuje, że używasz uwierzytelniania formularzy - upewnij się, że włączono uwierzytelnianie formularzy i wyłącz anonimowe uwierzytelnianie w IIS w menu Uwierzytelnianie, dla witryny internetowej działającej w IIS.
źródło
Wypełnij
<staticContent />
i usuń z pliku web.config.źródło
Korzystamy z usług Amazon Web Services, dlatego staramy się używać skryptów i programów, aby rozwiązać ten problem. Więc szukałem narzędzia wiersza poleceń. Najpierw więc spróbowałem uruchomić
c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
ale ponieważ korzystam z systemu Windows Server 2012 opartego na chmurze, narzekałem
This option is not supported on this version of the operating system. Administrators should instead install/uninstall ASP.NET 4.5 with IIS8 using the "Turn Windows Features On/Off" dialog, the Server Manager management tool, or the dism.exe command line tool. For more details please see http://go.microsoft.com/fwlink/?LinkID=216771.
i przejrzałem Google i znalazłem oficjalną stronę pomocy technicznej KB2736284 . Jest więc narzędzie wiersza poleceń
dism.exe
. Więc wypróbowałem następującedism /online /enable-feature /featurename:IIS-ASPNET45
ale narzekało i podawało listę nazw funkcji do wypróbowania, więc wypróbowałem je jeden po drugim i przetestowałem moją stronę WebAPI po każdej z nich i zadziałało po dolnej na liście.
Teraz mogę przejść do mojej witryny WebAPI i wyświetlić informacje o interfejsie API. To powinno pomóc kilku osobom. [Jednak nie jestem jeszcze całkowicie poza lasem i nie mogę dotrzeć do witryny spoza pudełka. Nadal nad tym pracuję.]
Zrobiłem też kilka wcześniejszych kroków po odpowiedziach innych osób. Mogę potwierdzić, że poniższe Delegowanie funkcji musi zostać zmienione (chociaż chciałbym znaleźć dla nich narzędzie wiersza poleceń).
źródło
Sprawdź, czy serwer IIS zainstalował funkcję przepisywania adresów URL.
Jeśli nie jest zainstalowany, upewnij się, że plik web.config nie ma konfiguracji związanej z przepisywaniem adresów URL
Jakiś czas skopiowaliśmy konfigurację ze starszego serwera i od razu wdrożyliśmy na nowym serwerze, wtedy możemy napotkać taki problem 500.
źródło
Działa i oszczędza mój czas. Wypróbuj Błąd HTTP 500.19 - Wewnętrzny błąd serwera - 0x80070021 (IIS 8.5)
źródło
Rozwiązaniem, które zadziałało, było usunięcie mojego obecnego pliku Web.config i dodanie nowego. To rozwiązało problem dla mnie
źródło