SharePoint 2013 通过审计获取文档下载次数

  1、创建一个文档库,进入库设置。找到”Information management policy settings”,点进去。例如以下图:

clip_image002

  2、分别设置”Document”、”Folder”两个。例如以下图:

clip_image004

  3、勾选Enable Auditing。例如以下图:

clip_image006

  4、勾选全部的Event,例如以下图:

clip_image008

  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、下载一次測试文档,执行代码,例如以下图:

clip_image010

总 结

  之前一直听说通过审计获取文档的下载次数。尝试一下用起来感觉还行,也看到有封装自己定义字段的解决方式,或者timerjob的解决方式,感觉算是一种方式吧,简单写写开启和调用的方式给大家參考一下。

  特别想说的是,除了下载次数,另一些其它event能够查看。除了列表项的审计信息,还有列表的相关信息。大家有兴趣的能够自己尝试一下。

  好了,就到这里。歇息。

歇息一下。。。

參考文档

  http://msdn.microsoft.com/en-us/library/bb466223.aspx

posted @ 2016-03-07 21:54  mengfanrong  阅读(332)  评论(0编辑  收藏  举报