/// <summary> /// 添加Api异常处理服务 /// </summary> /// <param name="services">服务收藏</param> /// <param name="options">Api异常处理选项配置</param> /// <returns>服务收藏</returns> public static IServiceCollection AddApiExceptionHandle(this IServiceCollection services, Action <ApiExceptionHandleOptions> options = null) { var apiExceptionHandleOptions = new ApiExceptionHandleOptions(); if (options != null) { options(apiExceptionHandleOptions); } services.AddSingleton <IOptions <ApiExceptionHandleOptions> >(provider => { return(Options.Create <ApiExceptionHandleOptions>(apiExceptionHandleOptions)); }); return(services); }
/// <summary> /// 构造方法 /// </summary> /// <param name="next">下一个中间件处理委托</param> /// <param name="options">Api异常处理选项配置</param> /// <param name="log">日志</param> public ApiExceptionHandleMiddleware(RequestDelegate next, IOptions <ApiExceptionHandleOptions> options, ILogable log) { this.next = next; this.options = options.Value; this.log = log; }