如何使用Func<T, TResult> 委托实现API日志的记录
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要介绍了如何使用Func 委托实现API日志的记录,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。问题平常我们开发web ap
千家信息网最后更新 2025年01月20日如何使用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安全错误
数据库的锁怎样保障安全
网络技术和web前端
云服务器配置apache
ipad 远程 服务器
录象软件开发
网络安全法律法规宣贯
实现数据库镜像
数据库加密网关
央企 战略合作协议 网络安全
暗影格斗出现没有服务器连接
推理服务器订购
互联网科技的发展的描述
数据库作者表读者表
嘉定区市场软件开发参考价格
数据库可以先填信息再连外键吗
测试仪器软件开发
网络技术对大学生的弊端英语
关于网络安全管理
小孩想学游戏软件开发
学计算机网络技术基本特长
数据库复习题答案doc下载
最安全的开源数据库
学习什么网络技术挣钱
收费稽查科网络安全制度
水费网上缴费软件开发团队
信息网络安全设备
乌镇互联网黑科技
力控数据库备份
北京服务器机柜生产商
曲靖网络安全应急中心
网络安全宣传股