2012-02-22 12 views
6

Podczas uruchamiania klasycznej aplikacji ASP w IIS7, kiedy wystąpiłby błąd 500 zamiast błędu 500.100? Mam na myśli to, że pojawia się błąd 500, ale nie błąd 500.100. Mam wrażenie, że klasyczna ASP wygenerowałaby tylko 500.100 błędów, gdy wystąpi błąd w kodzie VBScript. Niektóre wyjaśnienia na przykładzie będą bardzo pomocne.500 Vs 500.100 Błąd w klasycznym ASP

+0

Nigdy nie widziałem 1 500.100 błędu z ASP, tylko 500. –

+0

Masz rację - Wierzę, że IIS 7 po prostu zwraca 500 dla dowolnego wewnętrznego błędu serwera. Dlaczego to jest problem? –

+1

Mam IIS 7.5 na moim komputerze lokalnym. W przypadku klasycznej witryny ASP w usługach IIS określono niestandardową stronę błędu "Error1.asp" dla 500.100 kodu błędu. Użyłem do tego "Strony błędów" w konfiguracji strony w IIS. Teraz, gdy wystąpi błąd na klasycznej stronie asp, IIS renderuje Error1.asp. Oznacza to, że błąd 500 nie jest podnoszony. Właśnie dlatego zadałem to pytanie o błąd 500 błędów VS 500.100. Dlaczego mój IIS 7.5 nie podniósł w tym przypadku błędu 500? – Sunil

Odpowiedz

7

Klasyczne ASP zawsze zwracało status 500.100, jeśli wystąpił błąd skryptu. To było jak przez bardzo długi czas w poprzednich wersjach IIS i zachowanie się nie zmieniło.

Jeśli chcesz złapać błędów skryptu Classic ASP i móc odczytać obiekt Server.GetLastError() w swojej niestandardowej strony błędu (powiedzmy do logowania) trzeba zapewnić obsługi specjalnie dla 500.100.

Jeśli nie określisz błąd zwyczaj 500.100 następnie IIS spadnie z powrotem do swojej niestandardowej (lub jego własne) strony błędu 500 ale Server.GetLastError() nie zapewni żadnych użytecznych informacji o błędzie.

+0

Kev - Dzięki. Twoje wyjaśnienie było bardzo pomocne i sprawiło, że różnica między 500 a 500.100 błędów była bardzo wyraźna z klasycznej perspektywy ASP. – Sunil

+0

Odpowiedziałem na to już tutaj: http://stackoverflow.com/a/9352669/290343 –

+0

Tak, ale spójrzmy prawdzie w oczy @OferZelig Kev's explanation is better. +1 – Lankymart