Announcement 1) If this does not happen, probably it is not.
I donβt know how exactly you use background threads, but I will try to explain if ELMAH processing works. ELMAH is integrated into the ASP.NET pipeline, and when an error occurs, it is processed by the ASP.NET pipeline, which displays the error page (for example, http error 500) and calls ErrorLogModule . Also, citing the Use of HTTP modules and handlers to create ASP.NET plug-ins β Adding ELMAH to an ASP.NET Web Application
The section adds the ErrorLogModule HTTP module to the ASP.NET HTTP pipeline. Make sure you enable this one, otherwise ELMAH will not listen for the Error event and therefore no unhandled exceptions will be logged.
Announcement 2) . Since you are using Reactive Extensions, you can handle onError in which you can automatically enter Elmah. If you do not want to write errors everywhere in OnError mode, just create your own function or method extension that will automatically wrap you. Writing in ELMAH manually is easy to call:
Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
source share