Kent
20.05.2008, 19:10
Доброго времени суток.
Подскажите знающие люди.
Есть такая задача.
Т.к. в SP не предусмотрена чистка логов аудита, то написал джоб, который к примеру раз в сутки будет эти логи чистить.
Джоб не отрабатывает а вываливается в ошибку :
System.UnauthorizedAccessException: Попытка выполнить несанкционированную операцию.
в Microsoft.SharePoint.SPAudit.DeleteEntries(DateTim e deleteEndDate)
в CleanAuditJob.CleanAuditJob.Execute(Guid contentDbId)
Подозреваю, что может быть проблема с правами . Хотя чесно говоря я не понимаю, от какого пользователя запускается джоб. Его ведь запускает сама служба в SP.
Привожу код моего Execute : (может тут ошибка)
public override void Execute(Guid contentDbId)
{
try
{
SPSite mySite = new SPSite("http://testportal");
mySite.Audit.DeleteEntries(DateTime.Now.ToLocalTim e().AddDays(1));
mySite.Audit.Update();
}
catch (Exception ex)
{
TextWriter myWriter =
new StreamWriter(@"c:\audit.txt");
myWriter.WriteLine(ex.ToString());
myWriter.Close();
}
}
Подскажите знающие люди.
Есть такая задача.
Т.к. в SP не предусмотрена чистка логов аудита, то написал джоб, который к примеру раз в сутки будет эти логи чистить.
Джоб не отрабатывает а вываливается в ошибку :
System.UnauthorizedAccessException: Попытка выполнить несанкционированную операцию.
в Microsoft.SharePoint.SPAudit.DeleteEntries(DateTim e deleteEndDate)
в CleanAuditJob.CleanAuditJob.Execute(Guid contentDbId)
Подозреваю, что может быть проблема с правами . Хотя чесно говоря я не понимаю, от какого пользователя запускается джоб. Его ведь запускает сама служба в SP.
Привожу код моего Execute : (может тут ошибка)
public override void Execute(Guid contentDbId)
{
try
{
SPSite mySite = new SPSite("http://testportal");
mySite.Audit.DeleteEntries(DateTime.Now.ToLocalTim e().AddDays(1));
mySite.Audit.Update();
}
catch (Exception ex)
{
TextWriter myWriter =
new StreamWriter(@"c:\audit.txt");
myWriter.WriteLine(ex.ToString());
myWriter.Close();
}
}