全球.在Startup.cs中等效的asax Application_Error

本文关键字:asax Application Error Startup cs 全球 | 更新日期: 2023-09-27 18:04:51

我试图在。net应用程序写入事件日志之前捕获错误。我在这个问题的公认答案中看到,这样做的方法是在Global.asax.

中包含一个Application_Error(或它所说的Application_OnError)函数。

然而,我们现在才切换到使用Startup.cs,并且不知道如何进行等效的调用。对这个问题的公认答案表明,这可能是不可能的。有人知道是否有一种处理这些错误的等效方法吗?

全球.在Startup.cs中等效的asax Application_Error

说你已经"切换到使用Startup",我假设你的意思是使用OWIN管道。

Application_Error仅在请求期间抛出异常时调用,并且未处理。

因此,在OWIN管道中等效的是在OWIN管道开始时捕获任何未处理的异常。

换句话说,您需要在对_next的调用周围创建一个带有try/catch的自定义中间件,然后您可以对catch子句中的异常执行您想要的操作。

这个StackOverlow的答案显示了它是如何完成的