Mam aplikację ASP.NET MVC, która zwraca 404 i czasami 500 kodów stanu w różnych, odpowiednich punktach.Uzyskiwanie błędu IIS7 "jeden liniowiec" podczas używania niestandardowych ustawień błędów w web.config
Response.StatusCode = (int)HttpStatusCode.NotFound;
Kiedy ustawić jeden z tych kodów stanu, ja również ustawić właściwość TrySkipIisCustomErrors odpowiednio.
Response.TrySkipIisCustomErrors = true
Co chciałbym teraz zrobić, to skonfigurować IIS, aby przejść przez te błędy, które ja ustawiania się i złapać jakiekolwiek inne błędy, które mogą wystąpić (takie jak 404 na plikach statycznych, gdzie nie jestem wysyłania żądania do ASP.NET lub Uncaught 500 błędów w mojej aplikacji (gdzie przypuszczalnie propety TrySkipIisCustomErrors nie zostały ustawione przez framework)
Moja system.webServer/httpErrors węzeł wygląda następująco:.
<httpErrors existingResponse="Auto" errorMode="Custom">
</httpErrors>
Powoduje to zwrócenie moich własnych błędów ASP.NET, gdzie zestaw TrySkipIisCustomErrors = true, a standardowe strony błędów IIS dla Uncaught 500s, statyczne błędy 404 plików itp
Następnie próbowałem modyfikując je tak:
<httpErrors existingResponse="Auto" errorMode="Custom" defaultPath="/Skins/Shared/Error/Error.html" defaultResponseMode="ExecuteURL">
<clear />
</httpErrors>
uważam, że powinno to wyświetlaj mojego niestandardowej strony błędu w miejsce standardowego IIS. Jednak po dodaniu tego kodu otrzymuję komunikat o błędach IIS w jednym wierszu ("Nie można wyświetlić strony, ponieważ wystąpił wewnętrzny błąd serwera.") I zwraca kod stanu 500.
Zakładam, że jest to spowodowane błędem w mojej konfiguracji, ale nie mogę do końca zrozumieć, co robię źle!
Próbowałem również tego podejścia, z tych samych wyników:
<httpErrors existingResponse="Auto" errorMode="Custom" defaultPath="Skins\Shared\Error\Error.html" defaultResponseMode="File">
<clear />
</httpErrors>
Nawet ustawienie przekierowania do zupełnie innego adresu URL daje ten sam problem.
Używam tej strony między innymi w celach informacyjnych: http://blogs.iis.net/ksingla/archive/2008/02/18/what-to-expect-from-iis7-custom-error-module.aspx.
Plik błędu zdecydowanie istnieje i mogę go bezpośrednio trafić za pomocą przeglądarki.
Odkładając na bok, nie jestem całkowicie pewien, co powinienem zrobić z węzłem system.Web \ customErrors. Czy jest to ustawienie tylko IIS6, czy w jakiś sposób dotyczy ASP.NET? Obecnie nie uwzględniam go w moim web.config.
Udało ci się to rozgryźć?Mam ten sam problem: s – Robba
Jakie błędy występują w dzienniku zdarzeń systemu Windows? Czy ustawienie "Tryb zarządzanego potoku" puli aplikacji jest ustawione na tryb "Zintegrowany" lub "Klasyczny"? (Powinien być 'Zintegrowany' dla twojego scenariusza.) –
Pula aplikacji jest w trybie zintegrowanym. Nadal występują problemy i nie można znaleźć rozwiązania. W dzienniku zdarzeń nie ma błędów. Dość frustrujące! – Jamie