Tôi đã tìm kiếm một số phương pháp để sử dụng ELMaH với ASP.Net MVC để tôi có thể sử dụng trang lỗi tùy chỉnh cho tất cả các ngoại lệ bao gồm cả 404.Phương pháp này có sử dụng ELMaH với mùi MVC không?
Có no shortage của questionsasking cách tải /Shared/Error.aspx hoạt động chính xác trong ASP.Net MVC - có hoặc không có ELMaH. Tôi đã không có vấn đề với nhiệm vụ đó, nhưng tôi cảm thấy rằng giải pháp của tôi khi sử dụng trang 404 tùy chỉnh cùng với ELMaH quá đơn giản và tôi không thể lắc được cảm giác rằng sẽ có nhiều thứ hơn.
Sau khi kích hoạt customErrors trong Web.Config, tôi đã tạo ra một hành động mới trong HomeController tôi:
public ActionResult PageNotFound()
{
return null;
}
Từ đó tôi đã thêm một phương pháp mới trong tập tin Global.asax của tôi để tận dụng khả năng lọc log ELMAH và , sau khi để cho ngoại lệ xuyên bị thoát ra, chuyển hướng các phản ứng trở lại nói trên PageNotFound
ActionResult:
public void errorLog_Filtering(object sender, ExceptionFilterEventArgs e)
{
if (e.Exception.GetType().Equals(typeof(HttpException)))
{
HttpException ex = (HttpException)e.Exception;
if (ex.GetHttpCode() == 404)
Response.Redirect("/Home/PageNotFound");
}
}
tôi nhìn ra một cái gì đó mà đi kèm với MVC theo mặc định (vì tôi vẫn đang tìm kiếm con đường của tôi đối với nhiều t hings liên quan đến MVC), hoặc overthinking vấn đề mà một giải pháp đơn giản tồn tại? Đánh giá cao bất kỳ đầu vào nào.
Không có cái nhìn thực tế để trở lại. Tôi chỉ cho phép người dùng truy cập vào trang /Shared/Error.aspx mặc định. –