我如何处理 Elmah 本身引起的异常?

How can I handle exceptions caused in Elmah itself?

我已经为 ASP.NET MVC 5 项目设置了 Elmah 来处理异常并将它们保存在数据库 (Oracle) 中。

现在我遇到了这样一种情况,Elmah 无法在数据库中记录异常并由于数据库关闭、连接字符串更改等原因自行导致异常

我试过这个:

try
        {
            Elmah.ErrorSignal.FromCurrentContext().Raise(new Exception("Testing Elmah exception handling"));
        } catch (Exception ex)
        {
            LogException(ex);
        }

但 LogException(ex) 从未执行过。

在 LogException 中,我实现了一个也写入数据库的自定义记录器。

Elmah 在回退场景中的 Windows 事件日志中写入失败。这意味着,如果 Elmah 未能在您可能选择的配置选项(即数据库、文件系统或任何自定义选项配置)中写入异常/事件,它将写入服务器上的 Windows 事件日志该应用程序是 运行。

作为附加说明,在 NLB(负载平衡)环境的情况下,异常将记录在服务特定请求的其中一台服务器的 Windows 事件日志中,而不是所有服务器应用程序所在的服务器 运行).