Cách đặt tệp web.config để hiển thị thông báo lỗi đầy đủ


140

Tôi đã triển khai ứng dụng MVC-3 của mình trên windows Azure. Nhưng bây giờ khi tôi yêu cầu thông qua staging urlnó sẽ hiển thị cho tôi (Xin lỗi, đã xảy ra lỗi trong khi xử lý yêu cầu của bạn.) . Bây giờ tôi muốn xem thông báo lỗi đầy đủ, theo mặc định nó đang ẩn đi vì một số lý do bảo mật. Tôi biết rằng chúng ta có thể làm điều này thông qua tệp web.config. Nhưng bằng cách nào?

Câu trả lời:


249

không chắc nó có hoạt động trong kịch bản của bạn không, nhưng hãy thử thêm phần sau vào phần web.configdưới của bạn <system.web>:

  <system.web>
    <customErrors mode="Off" />
  ...
  </system.web>

làm việc trong ví dụ của tôi.

cũng thấy:

Chế độ CustomErrors = "Tắt"


20
Ngoài ra, thêm phần sau vào < System.webServer > thêm <httpErrors errorMode = "Chi tiết" />
Kasper Halvas Jensen

128

Điều này cũng có thể giúp bạn bằng cách hiển thị đầy đủ chi tiết về lỗi trên trình duyệt của khách hàng.

<system.web>
    <customErrors mode="Off"/>
</system.web>
<system.webServer>
    <httpErrors errorMode="Detailed" />
</system.webServer>

1
Để biết thêm chi tiết, hãy xem phần tử
CustomErrors



Điều này tốt hơn câu trả lời được chấp nhận bởi bcuz hầu hết các nhà phát triển muốn xem chi tiết thay vì YSOD không có chi tiết.
Spencer

12

Nếu bạn đang sử dụng ASP.NET MVC, bạn cũng có thể cần phải xóa tệp HandErrorAttribution khỏi tệp Global.asax.cs:

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
    filters.Add(new HandleErrorAttribute());
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.