如何保存数据库中的所有异常而不在.Net中的项目中调用函数?

wal*_*ari 3 .net c# sql asp.net asp.net-web-api

我想在.NET中保存数据库中的所有异常日志.在每个try catch块中将异常插入数据库非常耗时.有没有可能的通用永久解决方案?是否有任何服务在try/catch black的每个异常抛出时运行,以便我修改该服务并在数据库中插入每个异常?

小智 5

你可以尝试把一些逻辑的Application_Error事件Global.asax在你的项目文件.每次发生未处理的错误时都会执行.

这样的事情会有所帮助:

void Application_Error(object sender, EventArgs e)
{
  // Code that runs when an unhandled error occurs

  // Get the exception object.
  Exception exc = Server.GetLastError();

  //handle your exception here.
}
Run Code Online (Sandbox Code Playgroud)

此外,由于它的要求很好,否则为不同的函数编写不同的异常代码块并不是一个坏主意,因为您可能希望以不同于其他异常的方式处理某些异常.

希望这可以帮助.