2012-07-18 78 views
0

在我的应用程序中,我处理审核日志以获取已更改的项目。一旦获得了审核记录,那么我运行SPSiteDataQuery就能够获得特定项目的ListId,因为SPAuditEntry不会公开该属性。SharePoint审核条目

这很好,但是对于大量的审核条目,它的工作速度非常慢, 10K审计日志需要大约12分钟来运行所有这些数据查询。

我想知道是否有一种方法来扩展盒外审计日志写作,所以在记录它的过程中写入ListId的日志呢?

感谢,

Hrayr

+0

我的理解;你在改变什么物品? – Tjassens 2012-07-25 14:00:07

+0

文档库项目和自定义列表项目 – 2012-07-26 10:39:06

回答

0

我不认为,审计是可扩展的。但是审计条目确实包含了有关审计发生的清单的信息。不是足够的财产SPAuditEntry.DocLocation

+0

好的,所以我知道,您可以通过以下方式之一从审核条目中获取关于listid,web id的信息。使用SPSiteDataQuery并查询AuditEntry中的itemid(这可行,但正如我提到的性能太低),第二个是DocLocation,因此您可以打开网站/ web /列表并获取它。这种方法运行得非常快,但是在编辑审计条目的情况下,这个doclocation在实际编辑完成之前包含信息,而不是在此之后,因此,如果例如您将库中的文件名从Test.doc更改为Test1.doc,则doclocation将仍然指向TestDoc。 – 2012-08-02 13:21:19