Copyright © 2004-11 Atif Aziz. Licensed under Apache License 2.0.

HTTP modules and handlers can be used in ASP.NET to provide a high degree of componentization for code that is orthogonal to a web application, enabling entire sets of functionalities to be developed, packaged and deployed as a single unit and independent of an application. ELMAH (Error Logging Modules and Handlers) illustrates this approach by demonstration of an application-wide error logging that is completely pluggable. It can be dynamically added to a running ASP.NET web application, or even all ASP.NET web applications on a machine, without any need for re-compilation or re-deployment.

MSDN Article on ELMAH

For an introductory piece on ELMAH, see the “Using HTTP Modules and Handlers to Create Pluggable ASP.NET Components” on MSDN, which was co-authored with Scott Mitchell of 4GuysFromRolla.

The article is also available in French, German, Italian, Japanese and Spanish.