Elegant Global Error Handling Using Middleware In ASP.NET Core