Gruntownie:
Użyj IncludeErrorDetailPolicy
zamiast tego, jeśli CustomErrors
nie rozwiąże tego za Ciebie (np. Jeśli jesteś stosem ASP.NET> 2012):
GlobalConfiguration.Configuration.IncludeErrorDetailPolicy
= IncludeErrorDetailPolicy.Always;
Uwaga: bądź ostrożny, zwracając szczegółowe informacje o błędzie, może ujawnić poufne informacje „hakerom”. Zobacz komentarz Simona do tej odpowiedzi poniżej.
Wersja TL; DR
Mnie CustomErrors
nie pomogło. Było już ustawione Off
, ale nadal otrzymałem tylko marną an error has occurred
wiadomość. Wydaje mi się, że przyjęta odpowiedź pochodzi z okresu sprzed 3 lat, co w dzisiejszych czasach jest od dawna. Używam Web API 2 i ASP.NET 5 (MVC 5), a Microsoft odszedł od strategii CustomErrors
opartej tylko na IIS, podczas gdy jest old skool IIS;).
W każdym razie miałem problem z produkcją, którego nie miałem lokalnie. A potem stwierdziłem, że nie widzę błędów na karcie Sieć w Chrome, tak jak na moim komputerze deweloperskim. W końcu udało mi się go rozwiązać, instalując Chrome na moim serwerze produkcyjnym, a następnie przeglądając aplikację na samym serwerze (np. Na „localhost”). Następnie pojawiły się bardziej szczegółowe błędy ze śladami stosu i wszystkim.
Dopiero potem znalazłem ten artykuł od Jimmy'ego Bogarda (Uwaga: Jimmy to pan AutoMapper! ). Zabawne jest to, że jego artykuł jest również z 2012 roku, ale w nim już wyjaśnia, że CustomErrors
to już nie pomaga, ale MOŻESZ zmienić 'Szczegóły błędu', ustawiając inną IncludeErrorDetailPolicy
w globalnej konfiguracji WebApi (np. WebApiConfig.cs
):
GlobalConfiguration.Configuration.IncludeErrorDetailPolicy
= IncludeErrorDetailPolicy.Always;
Na szczęście wyjaśnia również, jak to skonfigurować, że webapi (2) SŁUCHA twoich CustomErrors
ustawień. To całkiem rozsądne podejście, które pozwala wrócić do 2012 roku: P.
Uwaga: Wartość domyślna to „LocalOnly”, co wyjaśnia, dlaczego udało mi się rozwiązać problem w sposób opisany przeze mnie przed znalezieniem tego wpisu. Ale rozumiem, że nie każdy może po prostu zdalnie sterować produkcją i uruchamiać przeglądarkę (wiem, że przeważnie nie mogłem, dopóki nie zdecydowałem się przejść na freelancera i DevOps).