概述: ASP.NET Web API 的好用使用过的都知道,没有复杂的配置文件,一个简单的ApiController加上需要的Action就能工作.但是项目,总有异常发生,本节就来谈谈API的异常的统一处理和写统一写log逻辑的解决方案. 问题: 在ASP.NET Web API编写时,如果每个API都写异常处理逻辑,不但加大了开发工作量,且每个开发人员处理异常返回的数据结构也不尽相同,在异常发生情况下,客户端处理异常的逻辑就不再通用,也同时加大了对接接口人员的工作量,好的API错误码和错误
禁用异常跟踪 很多时候异常是不可预料的,在每个Action方法或Controller上应用Exception Filter是不现实的.而且如果异常出现在View中也无法应用Filter.如RangeError.cshtml这个View加入下面代码: @model int @{ var count = 0; var number = Model / count; } ... 运行程序后,将会显示如下信息: 显然程序发布后不应该显示这些信息给用户看.我们可以通过配置Web.config让应用程序不管
做net项目时候,在Global.asax文件中可以通过Application_Error方法全局捕获异常并处理后统一跳转到自定义的错误页面. 下面是我个人在NetCore项目中实现全局捕获异常并统一处理的功能的记录,以便备份. 1.在项目根目录新建文件夹Filter,并在文件夹下新建类,命名为GlobalExceptionFilter.cs using Microsoft.AspNetCore.Mvc.Filters; using System; using CMSCore.Web.Core;