如何使用Func<T, TResult> 委托实现API日志的记录
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍了如何使用Func 委托实现API日志的记录,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。问题平常我们开发web ap
千家信息网最后更新 2026年11月03日如何使用Func<T, TResult> 委托实现API日志的记录
这篇文章主要介绍了如何使用Func
问题
平常我们开发web api的时候,一般是需要记录api的输入输出信息,方便后续排查问题;那么我们一般怎么做的,一般是我们在一个公共地方的写个公共方法控制输入输出。这时候Func
什么是Func
Func
主要代码实现
1、定义委托。
private ApiResult HandleWork(CreateBQoolSyncEventModel syncModel, Funcwork) { //先記錄到 Db Event _innerBQoolSyncEventLogService.Create(syncModel); var result = new ApiResult(); try { _logger.Info($"Call Web Api Start, data:{syncModel.ToJsonString()}"); result = work(); if (!result.Success && !string.IsNullOrEmpty(result.Code) && string.IsNullOrEmpty(result.ErrorMessage)) { result.ErrorMessage = ApiResultCode.ErrorMessages[result.Code]; } } catch (Exception ex) { _logger.Error(ex.ToString()); result.Success = false; if (string.IsNullOrEmpty(result.ErrorMessage)) { result.ErrorMessage = ex.Message; } else { result.ErrorMessage += "; " + ex.Message; } } finally { _logger.Info($"Call Web Api End , result:{result.ToJsonString()}"); //更新 Db event syncModel.SetStatus(result.Success ? BQoolSyncEventStatus.Success : BQoolSyncEventStatus.Failure); _innerBQoolSyncEventLogService.ChangeStatus(syncModel.Id, syncModel.Status, result.ErrorMessage); } return result; }
2、把方法当做参数,传入委托。
[HttpPost] public ApiResult ModuleFeatureSetting(ReviewsApiRequestModel model) { string data = StringTools.AESDecrypt(model.Encrypt); var param = JObject.Parse(data).ToObject(); ApiResult result = HandleWork( new CreateBQoolSyncEventModel(param.Account, BQoolSyncEventType.ModuleFeatureSetting, param) , () => _ReviewsSettingSyncService.ModuleFeatureSetting(param)); return result; } 3、查看日志。
感谢你能够认真阅读完这篇文章,希望小编分享的"如何使用Func
委托
方法
参数
篇文章
封装
日志
问题
输入
输出
平常
不用
也就是
也就是说
代码
价值
信息
兴趣
只有
同时
地方
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
涨乐互联网科技
互联网品科技
互联网科技垄断
互联网最新的科技有限公司
没上市的科技互联网公司
未来的互联网科技
富国互联网科技创新基金
博兴的互联网电子科技公司
中国的互联网科技企业的崛起
互联网科技创新服务
互联网校园科技培训
深圳育鹏互联网科技有限公司招聘
健康食品互联网创新科技园项目
浙南科技城互联网大厦建设工程
企晟互联网信息科技有限公司
四川互联网展示科技馆设计
新氧科技和美国互联网有关系吗
上海万顺科技互联网有限公司招聘
互联网领先科技活动
互联网 科技节活动 微视频大赛
科技互联网项目
互联网和科技创新
朗新科技与工业互联网
互联网金融与金融科技
华脉科技工业互联网产品
博兴的互联网电子科技公司
互联网科技和信息
国大互联网教育科技有限公司工作
陕西云淼互联网科技公司
如何强化互联网金融科技