2013-07-29 27 views
7

Trong web.config của tôi, tôi đã bao gồm:HandleError thuộc tính không có bất kỳ tác dụng

<customErrors mode="On" /> 

Bây giờ màn hình màu vàng của cái chết không được hiển thị nữa. tôi nghĩ rằng tôi sẽ phải bao gồm các thuộc tính HandleError với các phương pháp điều khiển của tôi hay chính lớp:

[HandleError] 
public ActionResult About() 
{ 
    throw new Exception("Just an exception"); 
    return View(); 
} 

Nhưng nó không có bất kỳ tác dụng, nó giống như:

public ActionResult About() 
{ 
    throw new Exception("Just an exception"); 
    return View(); 
} 

Trong cả hai trường hợp trang lỗi tùy chỉnh được hiển thị. Vì vậy, nó là gì về thuộc tính HandleError?

Trả lời

13

Điều đó có thể xảy ra nếu FilterConfig.cs, dưới thư mục App_Start của dự án MVC, bao gồm:

public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
{ 
    filters.Add(new HandleErrorAttribute()); 
} 

Kể từ khi bộ lọc HandleError được đăng ký khi App bắt đầu , bạn không cần phải trang trí từng hành động điều khiển với thuộc tính này.

+1

Giải thích tuyệt vời và ngắn gọn cũng trả lời câu hỏi: "Mục đích của' RegisterGlobalFilters' là gì? " – Dan

Các vấn đề liên quan