2010-06-22 14 views
5

Tôi muốn cấu hình ELMAH cho một trang ASP.NET MVC hoàn toàn bằng mã. Điều này bao gồm việc đăng ký mô-đun, thiết lập nhà cung cấp và cài đặt ghi nhật ký và lọc ngoại lệ.Có thể cấu hình ELMAH hoàn toàn bằng mã không?

Phần duy nhất tôi đã quản lý để thực hiện cho đến nay là các ngoại lệ bộ lọc. Có ai khác đã tìm ra cách để làm điều này không? Tôi thực sự muốn tránh lộn xộn lên tập tin cấu hình của tôi với các thiết lập mà sẽ không bao giờ thay đổi.

+0

Brian - Mà không phải là quan điểm của một tập tin cấu hình, để lưu trữ những điều mà don' t thay đổi bao giờ hoặc thường xuyên? Những điều làm thay đổi thường xuyên, bạn sẽ muốn trong cơ sở mã của bạn. Chỉ cần một ý nghĩ ... – Tommy

+0

Tôi đang tung ra nhiều trường hợp của một hệ thống ASP.NET MVC cho nhiều khách hàng. Như vậy, tôi muốn giữ các tập tin cấu hình càng đơn giản càng tốt. –

+0

@Tommy: Tôi nghĩ bạn có ý nghĩa theo cách khác. –

Trả lời

0

ELMAH chạy dưới dạng mô-đun HTTP tùy chỉnh và trình xử lý HTTP. Theo MSDN:

Sau khi bạn đã tạo ra một HTTP lớp xử lý tùy chỉnh, bạn phải đăng ký nó trong file Web.config. Điều này cho phép ASP.NET gọi trình xử lý HTTP theo yêu cầu yêu cầu dịch vụ cho các tài nguyên có tệp được chỉ định tên mở rộng.

Cách bạn đăng ký trình xử lý HTTP tùy thuộc vào phiên bản Internet Dịch vụ thông tin (IIS) lưu trữ đơn đăng ký của bạn. Đối với IIS 6.0, bạn đăng ký trình xử lý bằng cách sử dụng phần httpHandlers của tệp Web.config . Đối với IIS 7.0 chạy ở chế độ Cổ điển , bạn đăng ký trình xử lý trong phần httpHandlers và bạn ánh xạ trình xử lý vào tệp Aspnet_isapi.dll. Đối với IIS 7.0 chạy ở chế độ tích hợp , bạn đăng ký trình xử lý theo số bằng cách sử dụng phần tử trình xử lý trong phần hệ thống .WebServer.

Rick Strahl has a blog post nơi đăng ký chương trình HttpModule theo lập trình. Tôi cho rằng có thể sử dụng một kỹ thuật tương tự với ELMAH.