我试图在 .NET 应用程序写入事件日志之前捕获错误。我在 this 的接受答案中看到了问题是这样做的方法是在 Global.asax 中包含一个 Application_Error
(或它说的 Application_OnError
)函数。
但是,我们现在只切换到使用 Startup.cs,无法弄清楚如何进行等效调用。 this 的公认答案问题表明这可能是不可能的。有谁知道是否有等效的方法来处理这些错误?
最佳答案
如果您说您已“切换到使用 Startup”,我假设您的意思是使用 OWIN 管道。
Application_Error
仅在请求期间抛出异常且未处理时才会调用。
因此 OWIN 管道中的等效项是在 OWIN 管道的开头捕获任何未处理的异常。
换句话说,您需要围绕对 _next
的调用创建一个带有 try
/catch
的自定义中间件,然后您可以在 catch 子句中做你想做的事。
This other StackOverlow answer展示了它是如何完成的。
关于c# - Startup.cs 中的 Global.asax Application_Error 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31659307/