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、下載一次測試文件,執行程式碼,如下圖:
總 結
之前一直聽說通過審計獲取文件的下載次數,嘗試一下用起來感覺還行,也看到有封裝自定義欄位的解決方案,或者timerjob的解決方案,感覺算是一種方式吧,簡單寫寫開啟和呼叫的方式給大家參考一下。
特別想說的是,除了下載次數,還有一些其他event可以檢視,除了列表項的審計資訊,還有列表的相關資訊,大家有興趣的可以自己嘗試一下。
好了,就到這裡,休息。。。休息一下。。。
參考文件
http://msdn.microsoft.com/en-us/library/bb466223.aspx