1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > asp.net core 自定义异常处理中间件

asp.net core 自定义异常处理中间件

时间:2020-05-03 13:09:55

相关推荐

asp.net core 自定义异常处理中间件

Intro

在 core 中全局异常处理,有时候可能不能满足我们的需要,可能就需要自己自定义一个中间件处理了,最近遇到一个问题,有一些异常,不希望记录错误日志,目前主要是用户请求取消导致的TaskCanceledExceptionOperationCanceledException异常。因为我的 ERROR 级别的日志会输出到 Sentry,sentry的异常会自动发邮件提醒,如果是一些没必要的错误,自然不需要记录错误日志,于是就想自定义一个异常处理中间件,自己处理异常,不将异常处理直接交给 core 的异常处理。

请求取消

请求取消导致的异常:

core 引入了HttpContext.RequestAborted来监听用户取消请求(实际测试下来,并不是每次都会触发,还没搞清楚怎么100%的触发),你可以使用HttpContext.RequestAborted来在用户取消请求的时候中断后台逻辑的处理,避免处理一些不必要的业务,下面给出一个使用示例,示例源码

,更多详细信息可以参考 圣杰的这篇中断请求了解一下

异常处理中间件

异常处理中间件源码:

可以通过配置CustomExceptionHandlerOptions来实现自定义的异常处理逻辑,默认请求取消会记录一条 Information 级别的日志,其他异常则会记录一条 Error 级别的错误日志

你可以通过下面的示例来配置遇到请求取消异常的时候什么都不做

Reference

/p/9988f2a27f8d

/WeihanLi/ActivityReservation/blob/dev/ActivityReservation.API/ReservationPlaceController.cs

原文地址:/weihanli/p/custom-exception-handler-for-aspnetcore.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。