课件和 Demo 地址
https://gitee.com/geektime-geekbang/NET-Core
作者回复: 相当于: exceptionHandlerpathFeature == null ? null : exceptionHandlerpathFeature.error
作者回复: startup中的 services.AddControllers换成 services.AddControllersWithViews
作者回复: 在ASP.NET Core中webapi与mvc是一套模型,是一回事
作者回复: 使用结构化日志,然后输出到日志分析系统,在日志系统里检索
作者回复: 中间件的方式,处理后不抛出,相当于已处理
作者回复: 可以这样做,效果是相同的。
作者回复: 枚举+注释即可满足,还可以为其标注描述Atribute,以支持错误描述的显示
作者回复: 中间件的方式,是全局范围内的,一般建议优先使用中间件的方式。 过滤器的方式,是MVC执行范围内的,当你应用需要区分错误处理逻辑时,可以使用这种方式更精细地处理,对不同的controller进行不同的处理定义
作者回复: 4xx也会被识别为非正常的请求,最好的做法是4xx的响应遵循http协议响应码的约定。 业务逻辑的异常,本质上是一种逻辑控制,因此定义为200是可以的。