gpt4 book ai didi

c# - 如果不使用数据提供程序,则缺少新对象 - Audit.Net

转载 作者:太空宇宙 更新时间:2023-11-03 12:07:37 25 4
gpt4 key购买 nike

我注意到 AuditScope得到 .Event包含事件日志值的属性。所以它可以使用这个命令转换为json

var Scope = AuditScope.Create("Account:Suspend", () => user);

//Change value properties on user object
//Save into database

//Retrieve eventlog from audit
var EventInJson = Scope.Event.ToJson();

所以我决定不使用CustomDataProvider,所以我这样配置Audit.Net

Audit.Core.Configuration.Setup();

但是 New ObjectTarget Object 中丢失.示例结果


{
"EventType": "Account:Suspend",
"Environment": {
"UserName": "test",
"MachineName": "test",
"DomainName": "test",
"CallingMethodName": "Account.API.Controllers.AccountController+<UpdateSuspend>d__35.MoveNext()",
"AssemblyName": "Account.API, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null",
"Culture": "en-MY"
},
"Target": {
"Type": "ApplicationUser",
"Old": {
"CountryId": 1,
"IsDeleted": false,
"IsSuspend": true,
"RiskLevelId": 0,
"CreationDate": "2018-10-05T04:51:32.485",
"LastLoginDate": "2018-10-05T04:51:32.486",
"Id": 23,
"UserName": "user",
"NormalizedUserName": "test",
"Email": "test@test.com",
"NormalizedEmail": "test@test.com",
"EmailConfirmed": false,
"SecurityStamp": "Test",
"ConcurrencyStamp": "test",
"PhoneNumberConfirmed": false,
"TwoFactorEnabled": false,
"LockoutEnd": "2018-12-18T04:15:56.2490628+00:00",
"LockoutEnabled": false,
"AccessFailedCount": 0
}
},
"StartDate": "2019-01-08T09:35:34.8363926Z",
"Duration": 0
}

是否可以在没有数据提供者的情况下使用?

最佳答案

New 值缺失,因为它在作用域被保存 时更新,这取决于创建策略,它可能是在作用域被释放时,或者当您显式调用时AuditScope 上的 Save 方法。因此,在修改目标对象之后,在获取 auditevent 之前,您必须释放范围或调用其 Save 方法。

另请注意,像这样调用 Audit.Core.Configuration.Setup(); 不足以拥有 NULL 数据提供程序,该代码只会让默认值成为 FileDataProvider 。为了指定 NULL 数据提供程序,您可以执行 Audit.Core.Configuration.Setup().UseNullProvider();

关于c# - 如果不使用数据提供程序,则缺少新对象 - Audit.Net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54088966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com