Về cơ bản:
Sử dụng IncludeErrorDetailPolicy
thay thế nếu CustomErrors
không giải quyết nó cho bạn (ví dụ: nếu bạn là ngăn xếp ASP.NET> 2012):
GlobalConfiguration.Configuration.IncludeErrorDetailPolicy
= IncludeErrorDetailPolicy.Always;
Lưu ý: Cẩn thận trả lại thông tin lỗi chi tiết có thể tiết lộ thông tin nhạy cảm cho 'tin tặc'. Xem bình luận của Simon về câu trả lời này dưới đây.
Phiên bản TL; DR
Đối với tôi CustomErrors
không thực sự giúp đỡ. Nó đã được đặt thành Off
, nhưng tôi vẫn chỉ nhận được một an error has occurred
tin nhắn sởi . Tôi đoán câu trả lời được chấp nhận là từ 3 năm trước đây là một thời gian dài trong từ web ngày nay. Tôi đang sử dụng Web API 2 và ASP.NET 5 (MVC 5) và Microsoft đã chuyển khỏi chiến lược chỉ sử dụng IIS, trong khi đó CustomErrors
là IIS skool cũ;).
Dù sao, tôi đã có một vấn đề về sản xuất mà tôi không có tại địa phương. Và sau đó tìm thấy tôi không thể thấy các lỗi trong tab Mạng của Chrome như tôi có thể trên máy dev của mình. Cuối cùng, tôi đã giải quyết nó bằng cách cài đặt Chrome trên máy chủ sản xuất của mình và sau đó duyệt đến ứng dụng trên máy chủ đó (ví dụ: 'localhost'). Sau đó, lỗi chi tiết hơn xuất hiện với dấu vết ngăn xếp và tất cả.
Chỉ sau đó tôi mới tìm thấy bài viết này từ Jimmy Bogard (Lưu ý: Jimmy là ông AutoMapper! ). Điều buồn cười là bài viết của anh ấy cũng từ năm 2012, nhưng trong đó anh ấy đã giải thích rằng điều CustomErrors
đó không giúp ích gì cho vấn đề này nữa, nhưng bạn CÓ THỂ thay đổi 'Chi tiết lỗi' bằng cách đặt khác biệt IncludeErrorDetailPolicy
trong cấu hình WebApi toàn cầu (ví dụ WebApiConfig.cs
):
GlobalConfiguration.Configuration.IncludeErrorDetailPolicy
= IncludeErrorDetailPolicy.Always;
May mắn thay, anh ta cũng giải thích cách thiết lập webapi (2) DOES lắng nghe CustomErrors
cài đặt của bạn . Đó là một cách tiếp cận khá hợp lý và điều này cho phép bạn quay trở lại năm 2012: P.
Lưu ý: Giá trị mặc định là 'LocalOnly', điều này giải thích tại sao tôi có thể giải quyết vấn đề theo cách tôi đã mô tả trước khi tìm thấy bài đăng này. Nhưng tôi hiểu rằng không phải ai cũng có thể từ xa để sản xuất và khởi động trình duyệt (tôi biết tôi hầu như không thể cho đến khi tôi quyết định đi làm tự do VÀ DevOps).