Я работаю со структурой аудита в MOSS 2007, и я программно включил аудит для двух конкретных списков в группе сайтов в семействе сайтов (то есть у сайтов есть два собственных списка). Я включил только маску обновления, так как хочу знать только, когда что-то было изменено или добавлено.
Тем не менее, я могу войти, только когда что-то добавлено, с моими текущими настройками. Чтобы увидеть изменения в элементах списка, я знаю, что для самого элемента списка должен быть включен аудит. Но как добавить новый элемент в список, как автоматически включить аудит для этого элемента? Если возможно, я бы предпочел не создавать приемник событий для этого.
* EDIT
Код, который я использую для включения аудита, выглядит примерно так:
foreach (SPSite site in webApp.Sites) {
foreach (SPWeb website in site.AllWebs) {
website.Lists["MyList"].Audit.AuditFlags = SPAuditMaskType.Update;
website.Lists["MyList"].Audit.Update();
}
}
И прочитать это:
SPUserToken sysAdmin = website.Site.SystemAccount.UserToken;
using (SPSite elevatedSite = new SPSite(website.Site.ID,sysAdmin)) {
using (SPWeb elevatedWeb = elevatedSite.OpenWeb(website.ID)) {
SPAuditQuery auditQuery = new SPAuditQuery(elevatedSite);
auditQuery.SetRangeStart(myDatetime);
auditQuery.RestrictToList(elevatedWeb.Lists["MyList"]);
listChanges = elevatedWeb.Lists["MyList"].Audit.GetEntries(auditQuery);
}
}
Я понимаю, что ограничиваю список здесь, но когда я этого не сделал, я получил изменения и из других списков на сайте. Хотя логически я бы предположил, что я получил только те изменения из списка, который я назвал «GetEntries» в ...
Спасибо