Właśnie próbowałem wdrożyć moją pierwszą aplikację internetową w usługach IIS na moim notebooku z systemem Windows 7 Home Premium. Po utworzeniu aplikacji musiałem przejść na klasyczną pulę aplikacji, a następnie ustawić tę pulę na framework 4.0. Teraz pojawia się następujący błąd:
Błąd HTTP 404,17 - nie znaleziono Żądana zawartość wygląda na skrypt i nie będzie obsługiwana przez statyczną procedurę obsługi plików.
Żądany adres URL to http: // localhost: 80 / pvmms / default.aspx
Obawiam się, że obszerne wyszukiwanie w Google nie przyniosło nic wystarczająco jasnego ani konkretnego, z którym mógłbym pracować i jak zwykle zwróciłem się do ekspertów.
EDYCJA: Podejrzewam, że dzieje się tak dlatego, że nie ma mapowań obsługi Framework 4.0 dla plików .aspx. Jednak aspnet_regiis daje nawet mojemu administratorowi palec i mówi, że potrzebuję uprawnień administratora, aby go uruchomić.
EDYCJA # 2:
Zarejestrowałem wszystkie frameworki (2 i 4, 32 i 64) i wszystkie teraz działają. Znalazłem to, ręcznie dodając mapę skryptu .aspx
do aspnet_isapi i voila. Nie rozumiem, dlaczego instalacja frameworka tego nie robi, chyba że moja pamięć zawiedzie mnie i włączyłem IIS dopiero po zainstalowaniu VS.
Odpowiedzi:
Może teraz jest już za późno, ale częściej niż nie musisz biec
aspnet_regiis.exe -i
po zainstalowaniu asp.net. Może i tak bym to teraz zrobił.
źródło
the command is not recognized as an internal or external command
. Uruchom go w wierszu polecenia dewelopera.Oprócz powyższego, jeśli potrzebujesz obsługi WCF, może być konieczne uruchomienie tego:
c:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe -i
Zastąp wersję 3.0 na inną, którą masz obecnie.
źródło
Napotkałem ten błąd z IIS 8.5 podczas próby uzyskania dostępu do usługi WCF, którą napisałem. Okazuje się, że serwer nie miał włączonych funkcji aktywacji HTTP WCF. Zaznaczono pola i kliknąłem kreatora iisreset, rozpocząłem pracę.
źródło
Jeśli używasz iis 7.5.
Po prostu przejdź do Menedżera usług IIS, otwórz właściwości witryny.
Zobaczysz tam sekcję „Handler Mappings”, po prostu przejdź do tej sekcji i wyszukaj „staticFile”.
Najprawdopodobniej jest to ostatni plik na liście.
Następnie kliknij prawym przyciskiem myszy i wybierz „Przywróć rodzica”.
Zmarnowałem tyle godzin, kiedy stanąłem twarzą w twarz z tym pierwszym razem, tak czy inaczej to rozwiąże twój problem.
źródło
Miałem ten problem z systemem Windows Server 2012 z ASP .NET 4.5, nie można użyć aspnet_regiis.exe i wystarczy zainstalować ASP .NET 4.5 za pomocą Kreatora dodawania ról i funkcji:
Element menu „Dodaj role i funkcje” można znaleźć w menu „Zarządzaj” w prawym rogu Menedżera serwera
źródło
powinienem sprawdzić tę opcję
źródło
Rozwiązałem ten problem, włączając
WCF Services
Programs and Features > NET Framework 4.5 Services > WCF Services> HTTP Activation node
Ale musisz przyznać, że ta CAŁA konfiguracja IIS skonfiguruj / zgadnij / próbuj i zobacz / wypróbuj to / spróbuj, która spędza 4 lub 5 naszych dni, próbując znaleźć rozwiązanie dotyczące podejścia, JEST CAŁKOWITY I NIEPRAWIDŁOWY ŻART.
PEWNIE, `` IIS '' TO NAJWIĘKSZA SZTUCZKA PEWNOŚCI, W KTÓREJ ZOSTAŁO WYKORZYSTANA LUDZKOŚĆ
źródło
Wiem, że to stare pytanie, ale właśnie miałem to z aplikacją 3.5 na moim odbudowanym komputerze z systemem Windows 8 i nadal to rozumiałem
aspnet_regiis -iru
i okazało się, że ASP.NET 3.5 nie został zaznaczony w funkcjach tworzenia aplikacji (za mało reputacji, aby opublikować zdjęcie).źródło
Istnieje prawdopodobieństwo, że domyślnie utworzona pula aplikacji dla Twojej aplikacji to wersja 2. Więc chociaż widzisz na liście program obsługi dla rozszerzenia .svc, nie działa i traktuje go jako plik statyczny. Wystarczy otworzyć właściwości puli aplikacji i przełączyć ją na wersję 4.
źródło
Zarejestruj ponownie asp.net .... rozwiąże problem.
Przejdź do wiersza polecenia programu Visual Studio
i zarejestruj asp.net jako windows \ microsoft.net \ Framework [numer wersji .Net] \ aspnet_regiis.exe -i
źródło
Miałem ten sam problem na konfigurowanym komputerze z systemem Windows 8. Zainstalowałem vs2012 przed vs2010, który instaluje .NET framework 4.5. Moje pule aplikacji działają w wersji 4.0. Upewniłem się, że mam aspnet zarejestrowany w wersji 4.0 przy użyciu aspnet_regiis -i. To wciąż nie działało. Następnie otworzyłem funkcje systemu Windows i zauważyłem, że 4.5 dodał zestaw o nazwie „.NET Framework 4.5 Advanced Services”. Włączyłem węzeł usługi WCF i jego elementy podrzędne, a następnie mój punkt końcowy svc działał poprawnie. Mam nadzieję, że pomoże to osobom, które przechodzą na system Windows 8.
źródło
Natknąłem się na to pytanie, kiedy napotkałem ten sam problem. Główną przyczyną mojego problemu była nieprawidłowo skonfigurowana pula aplikacji. Nieumyślnie został ustawiony na 2.0, kiedy trzeba go było ustawić na 4.0. Odpowiedź pod poniższym linkiem pomogła mi odkryć ten problem: http://forums.iis.net/t/1160143.aspx
źródło
Dla innych osób czytających to:
Może się tak zdarzyć, jeśli wersja .Net, którą zarejestrowałeś, nie jest wersją wybraną w „Ustawieniach podstawowych” puli aplikacji dołączonej do Twojej witryny. Na przykład pula aplikacji witryn ma wybraną wersję .Net v2.0, ale zarejestrowano wersję 4.0
źródło
Miałem ten sam problem. Po dodaniu zawartości statycznej dla usług IIS działa dobrze.
źródło
To tylko kolejne możliwe rozwiązanie, które znalazłem z tym samym komunikatem o błędzie.
Podczas próby skonfigurowania aplikacji internetowej .NET 4.0 do nowej puli aplikacji otrzymałem ten dziwny błąd informujący mnie, że próbowałem przetworzyć mój plik aspx za pomocą statycznej procedury obsługi plików, co nie miało sensu.
Z jakiegoś powodu ISAPI dla .NET 4.0 został wyłączony w obszarze Ograniczenia ISAPI i CGI na poziomie serwera w menedżerze IIS. Wystarczyło ustawić tę opcję na włączone , jednak menedżer IIS 7.5 jest tak zawiły i trudny do wykonania, że zajęło mi dużo czasu, aby to rozgryźć.
Zgaduję, że ponieważ była to aplikacja 4.0, której nie można było przetworzyć przez silnik 4.0, domyślnie używana była statyczna obsługa plików.
źródło
W przypadku systemu Windows 10 / Framework 4.7 musiałem włączyć aktywację HTTP w następujący sposób:
źródło
cmd -> prawy przycisk myszy -> Uruchom jako administrator
C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis.exe -i
źródło
Korzystając z menedżera IIS, odkryłem, że pliki .aspx zostały zmapowane (w sekcji „Mapowania obsługi”) do ISAPI 2.0 - mimo że ASP.NET 4.5 był wcześniej zainstalowany. Edytowanie ich tak, aby wskazywały (również) na plik wykonywalny dla 64-bitowego ISAPI 4.0, rozwiązało problem.
Plik wykonywalny znaleziono w% windir% \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_isapi.dll
źródło
Otrzymałem tę wiadomość dla aplikacji w systemie iis 7.5 z klasyczną pulą aplikacji przypisaną do .net 2.0. Musiałem przejść do Handler Mappings i dodać dwie mapy skryptów, obie były takie same, z wyjątkiem nazwy. jedna nazwa to svc-ISAPI-2.0-64, a druga to svc-ISAPI-2.0. Ścieżka żądania to .svc. Plik wykonywalny to% SystemRoot% \ Microsoft.NET \ Framework64 \ v2.0.50727 \ aspnet_isapi.dll. zrestartowałem iis i wszystko było szczęśliwe
źródło
Jednym z najgorszych scenariuszy, które właśnie rozwiązałem, jest konflikt wpisu w pliku Web.config.
Na moim komputerze lokalnym nie miałem zarejestrowanego rozszerzenia .woff w IIS, więc dodałem je za pomocą Web.config. Ale na serwerze produkcyjnym .woff miał zarejestrowany typ MIME. Spowodowało to konflikt na poziomie aplikacji.
Zabawne jest to, że nie ma w tym przypadku zarejestrowanych błędów. Tylko zgadywanie (oczywiście za pierwszym razem).
Więc dla mnie rozwiązaniem było po prostu usunięcie i / lub elementów z web.config.
źródło
Miałem ten sam problem, właśnie zmieniłem docelową wersję frameworka na stronie na wersję, w której jest rozwijana, Same w IIS. To rozwiązało mój problem. Mam nadzieję że to pomoże...
Dziękuję Ci
źródło
może być wiele przyczyn, w moim przypadku w sekcji Pula aplikacji-> ustawienia zaawansowane-> Włącz aplikację 32-bitową (powinno być prawdą).
źródło
Przejdź do katalogu architektury .Net i procesora za pomocą CMD lub PowerShell
Wpisz to polecenie:
aspnet_regiis –r
źródło