Audit.WebAPI配置

时间:2017-05-15 07:29:45

标签: c# asp.net-web-api json.net audit.net

我使用的是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

1 个答案:

答案 0 :(得分:0)

你能提供堆栈跟踪吗?

该错误意味着Newtonsoft.Json无法序列化具有引用循环的对象,但默认情况下在Audit.NET上使用的json转换已经通过忽略ReferenceLoopHandling设置设置为的参考循环来处理此问题忽略。

https://github.com/thepirat000/Audit.NET/blob/master/src/Audit.NET/AuditEvent.cs#L73

您是否使用自定义数据提供程序来保存事件?

如果是这样,请务必使用提供的AuditEvent ToJson方法或任何其他处理自引用的方法。