使用CSFramework开发框架+WebApi模型:无法保存前端操作日志


使用CSFramework开发框架+WebApi模型:无法保存前端操作日志

使用CSFramework开发框架+WebApi模型:无法保存前端操作日志

Bug原因

WebApi接口参数定义的是object类型,因此无法自动识别和转换为具体的类型。默认转换为:System.Text.Json.JsonElement 类型。

C# 全选
        [HttpPost]
        public int OperateLog_WriteLog(object content)
        {
            return _business.OperateLog_WriteLog(content);
        }

解决方案

修改 CommonDataBusiness.cs

C# 全选
        public int OperateLog_WriteLog(object content)
        {
            object log = content;//默认

            //特殊处理, webapi接收的object是无法识别的具体对象类型。
            //类型:{Name = "JsonElement" FullName = "System.Text.Json.JsonElement"}            
            if (content.GetType().Name == nameof(System.Text.Json.JsonElement))
            {
                try
                {
                    var json = content.ToString();
                    var tmp = Newtonsoft.Json.JsonConvert.DeserializeObject<sys_LogOperation>(json);
                    if (tmp != null && !String.IsNullOrEmpty(tmp.MSG))
                    {
                        log = tmp;
                    }
                }
                catch { }
            }

            //写入数据库
            new dalLogOperation(_Loginer).WriteLog(log);
            return 1;
        }
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
评论列表

发表评论

评论内容
昵称:
关联文章

使用CSFramework开发框架+WebApi模型无法保存前端操作
CSFramework WebApi开发框架日志管理(系统、接口日志)
CSFrameworkV6.0旗舰版开发框架升级更新
系统异常、用户操作日志管理
ASPNET WebAPI后端框架全局异常跟踪及处理机制,保存系统异常消息
.NETCore Console控制台程序使用ILogger
ORM模型介绍(ORM Model)- CSFramework.WebApi服务端框架
CSFramework.WebApi用户请求对象模型
C/S快速开发框架旗舰版 - 系统操作
开发框架旗舰版保存数据并重新刷新CurrentBusiness前端缓存数据
本地文件,LocalLog.cs
C/S框架网提供基于C#.NET前端Winform开发框架及后端WebApi开发框架
基于Web前端用户调用CSFramework.WebApi服务端登录登出接口实现
CSFramework对象模型框架(DbDataUpdate),支持MsSQL,MySQL,Oracle三种数据库操作
CSFramework.WebApi后端框架 - 用户请求类型 (User Request)参数模型
主流前端开发框架都有哪些?Winform .NET快速开发框架
C#.NET Log4Net的基础用法
Demo调用WebApi接口 - CSFramework.WebApi后端开发框架
.NETCore使用EF保存图片报错:OracleExceptiol: ORA-01460:转换请求无法实施或不合理
CSFramework.DB数据库底层框架 - DbFramework实体模型框架