使用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;
}
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
WebApi-NETCore-V3 C/S框架网