编程语言
首页 > 编程语言> > c# – Startup.cs中的Global.asax Application_Error等价物

c# – Startup.cs中的Global.asax Application_Error等价物

作者:互联网

我试图在将.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,asp-net,error-handling,startup,event-log
来源: https://codeday.me/bug/20190528/1169658.html