如果不使用数据提供程序,则缺少新对象 - Audit.Net
New Object missing if not using Data Provider - Audit.Net
我注意到 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 Object
在 Target 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();
我注意到 AuditScope
得到了 .Event
属性,其中包含事件日志的值。所以它可以通过使用这个命令
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 Object
在 Target 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();