我使用的是Audit.NET 7.0.6版。 我在WEB API注册方法中添加了以下行
config.Filters.Add(new Audit.WebApi.AuditApiAttribute());
当我运行应用程序时,它会发出以下运行时错误
self referencing loop detected with type Appinstance.Path
'Action.ActionParameters.request.Properties.MS_HttpContext.ApplicationInstance.Context'.
我正在使用Nuget的最新版Newtonsoft.JSON
。
答案 0 :(得分:0)
你能提供堆栈跟踪吗?
该错误意味着Newtonsoft.Json无法序列化具有引用循环的对象,但默认情况下在Audit.NET上使用的json转换已经通过忽略ReferenceLoopHandling设置设置为的参考循环来处理此问题忽略。
https://github.com/thepirat000/Audit.NET/blob/master/src/Audit.NET/AuditEvent.cs#L73
您是否使用自定义数据提供程序来保存事件?
如果是这样,请务必使用提供的AuditEvent ToJson方法或任何其他处理自引用的方法。