Dlaczego IIS odmawia udostępniania zawartości ASP.NET?


16

Mój serwer Std systemu Windows Server 2003 odmawia serwera zawartości ASP.NET. Obsługuje zwykły HTML, ale wszystko .NET, nawet jeden wiersz HTML z rozszerzeniem ASPX zawodzi cicho.

Rzeczy, których próbowałem:

  • Brak danych w dzienniku zdarzeń lub dziennikach WWW IIS po awarii.
  • Skrzypek nie pokazuje odpowiedzi
  • Ponownie zainstalowałem .NET z
    • C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -U
    • C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I
  • Przyznaję nieprzyzwoicie wysokie uprawnienia do wszystkiego, co mogę wymyślić (pełna kontrola, odczyt, zapis itd.) Wszystkim potencjalnie odpowiednim użytkownikom (IUSER *, ASP.NET itp.).
  • Potwierdziłem, że rozszerzenia usług sieciowych ASP.Net v1 i v2 są „dozwolone” w IIS
  • Potwierdzono, że Menedżer serwera ma włączone role IIS i ASP.Net

Znowu: taki jest scenariusz:

Wszelkie wskazówki będą mile widziane!


Rozwiązanie: Ponownie zainstalowałem zgodnie z instrukcjami poniżej i teraz działa. Dziękuje wszystkim!

Odpowiedzi:


23

Natrafiłem na ten problem kilka razy i za każdym razem rozwiązaniem było:

  1. przejdź do Panelu sterowania
  2. przejdź do obszaru „Składniki systemu Windows”
  3. usuń IIS, pozwól mu się odinstalować
  4. restart
  5. ponownie dodaj IIS ( pamiętaj, aby uwzględnić elementy ASP.NET podczas odznaczania pól ).
  6. Uruchom: C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I

Spędziłem godziny debugując to raz na stronie klienta, i to była sztuczka. Od tego czasu, za każdym razem, gdy tak się dzieje, była to poprawka.

Nie jestem pewien, co jest główną przyczyną, ale rozerwałem konfigurację IIS, próbując to rozgryźć, a nawet Microsoft RDC'ował się na danym serwerze przez 2 lub 3 godziny, i nie mogli pomóc .

Więc zapisuję to jako nieudokumentowany błąd w ASP.NET/IIS.


1
To zrobiło to. Soooo marnuje dużo czasu na takie niezadowalające rozwiązanie - nienawidzę nie znać rzeczywistej przyczyny. No cóż, teraz działa - wielkie dzięki, Sam!
Michael Haren

2
Krok 6: C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727> aspnet_regiis.exe -I
Michael Haren

Nie ma problemu - cieszę się, że mogę służyć, bo wiem, że to bolesne!
Sam Schutte

Możliwe też, że faktyczną przyczyną jest po prostu zła instalacja. Wiem, kiedy na to wpadam, wszystko inne wygląda dobrze, ale zakładam, że gdzieś rejestr lub konfiguracja jest z jakiegoś powodu przykręcony.
Sam Schutte

Warto sformatować polecenie w kroku 6 jako kod, aby ułatwić stwierdzenie, że flaga jest wielkimi literami „i”.
Dave Andersen

9

Spróbuj tego: http: //localhost/blah.aspx (powinna być nieistniejąca strona). Jeśli wyświetla błąd 404 zamiast strony błędu asp.net, oznacza to, że asp.net nie działa, jeśli wyświetla błąd 403, uprawnienia do witryny są nieprawidłowe.

Oto lista kontrolna, która może pomóc:

  • Czy IIS działa?
  • Czy twoja strona działa?
  • Czy pula aplikacji dla Twojej witryny działa poprawnie?
  • Czy program ASP.NET jest zainstalowany i zarejestrowany?

    cd / d% windir% \ Microsoft.Net \ Framework \ v2.0.50727

    aspnet_regiis -ua

    aspnet_regiis -i -enable

  • Czy działa ASP.NET?

Sprawdź kartę „ASP.NET” we właściwościach witryny. Upewnij się, że używa właściwej wersji.

  • Czy uprawnienia są skonfigurowane poprawnie?

Sprawdź kartę „Katalog macierzysty” we właściwościach witryny, zaznacz ustawienie „Wykonaj uprawnienia”, należy ustawić opcję zezwalania na skrypty. Sprawdź także „Rozszerzenia usług sieciowych”, aby upewnić się, że asp.net może działać.


To ładna lista do wykorzystania w przyszłości. Próbowałem już tego wszystkiego oprócz przełączników -a i -able oraz pomysłu blah.aspx. Ponowne zainstalowanie IIS było tym, czego potrzeba. Dzięki za pomoc!
Michael Haren

Jak wygląda poprawnie działająca pula aplikacji? Jak wygląda nieprawidłowo działająca pula aplikacji?
Ian Boyd,

Gdzie można znaleźć „rozszerzenie usługi sieci Web”, aby upewnić się, że asp.net może działać?
Ian Boyd

3

Otwórz menedżera IIS, kliknij folder Rozszerzenia usług WWW w lewym okienku. Następnie kliknij rozszerzenie ASP.NET w prawym okienku i kliknij przycisk Zezwalaj.


Jest to już dozwolone, dziękuję za sugestię
Michael Haren

2

Nie trzeba odinstalowywać / ponownie instalować usług IIS, aby przywrócić obsługę .net, zgodnie z poprzednią odpowiedzią. Wystarczy uruchomić narzędzie aspnet_regiis.exe, które znajduje się w odpowiednim folderze framwork, np .:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

Czy robię to inaczej niż podano w moim pytaniu? Jeśli nie, to już próbowałem tego.
Michael Haren

Z jakiegokolwiek powodu samo uruchamianie regiis nie pomaga.
Sam Schutte
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.