1、创建1个文档库,进入库设置,找到”Information management policy settings”,点进去,以下图:
2、分别设置”Document”、”Folder”两个,以下图:
3、勾选Enable Auditing,以下图:
4、勾选所有的Event,以下图:
5、代码,以下:
public static void GetDownLoadNum(string url, string siteurl) { SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite site = new SPSite(siteurl)) { using (SPWeb web = site.OpenWeb()) { web.AllowUnsafeUpdates = true; SPAuditQuery auditQuery = new SPAuditQuery(site); auditQuery.AddEventRestriction(SPAuditEventType.View); auditQuery.RestrictToListItem(web.GetFile(url).Item); SPAuditEntryCollection auditEntryCollection = web.Audit.GetEntries(auditQuery); Console.WriteLine(url); Console.WriteLine("count:" + auditEntryCollection.Count.ToString()); } } }); }
6、下载1次测试文档,运行代码,以下图:
总 结
之前1直听说通过审计获得文档的下载次数,尝试1下用起来感觉还行,也看到有封装自定义字段的解决方案,或timerjob的解决方案,感觉算是1种方式吧,简单写写开启和调用的方式给大家参考1下。
特别想说的是,除下载次数,还有1些其他event可以查看,除列表项的审计信息,还有列表的相干信息,大家有兴趣的可以自己尝试1下。
好了,就到这里,休息。。。休息1下。。。
参考文档
http://msdn.microsoft.com/en-us/library/bb466223.aspx