Thứ sáu, ngày 24 tháng 11 năm 2017

Sử dụng ELMAH và MiniProfiler với ASP.NET MVC 4

Ngày đăng: 4/10/2012, 9:55:49AM | Lượt xem: 2,978
Hot!

 Nếu bạn mới tập làm quen với ASP.NET MVC, bạn có thể chưa biết về ELMAH và MiniProfiler. Đây là hai dự án mã nguồn mở mà bạn có thể cài đặt dễ dàng với NuGet, và cả hai đều nhằm giúp lập trình viên có thể gỡ rối và chuẩn đoán lỗi của ứng dụng. Bài viết này nhằm giới thiệu sơ lược về hai phần mềm này.

 ELMAH

 
<ELMAH là thư viện giúp log (ghi lại) tất cả các lỗi đã xảy ra với ứng dụng. Bạn có thể log và xem tất cả các lỗi mà không cần phải thay đổi bất kỳ dòng code nào. Tất cả bạn cần phải là đó là gọi câu lệnh “install-package” ở ứng dụng Package Manager Console của Visual Studio và ELMAH sẽ được dự án tham chiếu và được cấu hình để hoạt động. Bạn chỉ cần điều hướng đến địa chỉ /elmah.axd trong ứng dụng của bạn, và bạn sẽ thấy tất cả các lỗi (tuy nhiên, bạn chỉ thấy danh sách lỗi nếu đó là các request cục bộ, vì elmah đã được cấu hình mặc định như vậy).
 
 
ELMAH giữ tất cả các lỗi trong bộ nhớ, do đó, nếu ứng dụng bị khởi động lại, tập tin log sẽ bị xóa. Nếu bạn mong muốn thông tin log vẫn được lưu lại, bạn có thể cấu hình ELMAH để lưu thông tin log vào một nơi có thời gian sống lâu hơn, ví dụ như trong một database. Bạn có thể cấu hình cho elmah để lưu log lỗi trong database của SQL Compact hoặc SQL Server, hay thậm chí với MongoDB, và hơn thế nữa. 
 
ELMAH và HandleErrorAttribute
 
Với các dự án ASP.NET MVC, banh nên cài đặt gói elmah.mvc trên NuGet. Khi đó elmah.mvc sẽ tạo ElmahController cho dự nên bạn có thể truy xuất vào địa chỉ /elmah. Quan trọng hơn, elmah.mvc sẽ cài đặt một action filter để log các lỗi cho dù chúng bị đánh dấu là “handled” (đã được quản lý) bởi HandleErrorAttribute. Nếu bạn chỉ cài elmah, các lỗi này sẽ bị bỏ qua, nhưng với elmah.mvc thì tất cả sẽ được log lại.
 
MiniProfiler
 
<MiniProfiler là một công cụ giúp tìm các vấn đề về tốc độ thực thi và hiện tượng thắt cổ chai một cách đơn giản và dễ dàng. Để bắt đầu với MiniProfiler, bạn có thể cài đặt gói MiniProfiler.MVC3 trên NuGet (gói này cũng hoạt động được trên ASP.NET MVC 4). Sauk hi cài đặt xong, thêm một dòng mã lệnh ở các template _Layout ngay trước thẻ </body>:
 
@StackExchange.Profiling.MiniProfiler.RenderIncludes() 
 
Ngoài ra bạn cần một handler để giúp MiniProfiler có thể lấy về các tập tin script mà nó cần, bạn thêm cấu hình như sau vào tập tin web.config tại thư mục gốc của dự án:
 
<system.webServer>
  ...
  <handlers>
    <add name="MiniProfiler" path="mini-profiler-resources/*" verb="*" 
         type="System.Web.Routing.UrlRoutingModule"
         resourceType="Unspecified" 
         preCondition="integratedMode" />
  </handlers>
</system.webServer>
 
Một khi mọi thứ đã sẵn sàng, bạn sẽ thấy kết quả mà MiniProfiler sẽ cung cấp trên góc trên trái của cửa sổ trình duyệt (theo cấu hình mặc định thì thông tin này chỉ xuất hiện ở các request cục bộ). Bạn click vào “time measurement” để xem chi tiết:
 
 
Dựa vào MiniProfiler, bạn có thể biết là action mất bao nhiêu thời gian để được thực thi và views mất bao nhiêu thời gian để được tạo ra từ view template, và MiniProfile cũng cung cấp API để nếu bạn cần thông số của một số mã lệnh cụ thế nào đó. Khi MiniProfiler được cài, nó cũng sẽ thêm vào tập tin MiniProfiler.cs trong thư mục App_Start. Tập tin này chứa phần lớn các cấu hình của MiniProfiler, và do đó bạn sẽ dễ dàng cấu hình tùy thuộc vào trạng thái đăng nhập, và lưu thông thin profiling vào database nếu muốn.
 
Đây là hai dự án đáng để cho bạn quan tâm và sử dụng nếu bạn là lập trình viên ASP.NET.
theo d.jou.vn
 Chia sẻ qua: 
Hot!
Ý kiến bạn đọc

These items will be permanently deleted and cannot be recovered. Are you sure?

Gallery

image

Maecenas viverra rutrum pulvinar

Maecenas viverra rutrum pulvinar! Aenean vehicula nulla sit amet metus aliquam et malesuada risus aliquet. Vestibulum rhoncus, dolor sit amet venenatis porta, metus purus sagittis nisl, sodales volutpat elit lorem…

Read more

Text Links

Thiết kế logo chuyên nghiệp Insky
DAFABET
W88 w88b.com/dang-ky-tai-khoan-w88
W88
ca do bong da online
Copyright © 2011 - 2012 vietshare.vn by phamkhuong102@gmail.com doanhkisi2315@gmail.com. All rights reserved.