Метод SPContentDatabase.GetChanges (SPChangeToken)
Возвращает коллекцию изменений базы данных контента, начиная с указанной даты.
Пространство имен: Microsoft.SharePoint.Administration
Сборка: Microsoft.SharePoint (в Microsoft.SharePoint.dll)
Синтаксис
'Декларация
Public Function GetChanges ( _
changeToken As SPChangeToken _
) As SPChangeCollection
'Применение
Dim instance As SPContentDatabase
Dim changeToken As SPChangeToken
Dim returnValue As SPChangeCollection
returnValue = instance.GetChanges(changeToken)
public SPChangeCollection GetChanges(
SPChangeToken changeToken
)
Параметры
changeToken
Тип: Microsoft.SharePoint.SPChangeTokenОбъект SPChangeToken , указывающий дату и время начала. Если маркера ссылаются на время до начала текущего журнала изменений, SPException исключение.
Возвращаемое значение
Тип: Microsoft.SharePoint.SPChangeCollection
Коллекция объектов SPChange , представляющих изменения.
Замечания
Можно получить объект SPChangeToken для передачи как аргумент этот метод путем извлечения одного из свойства ChangeToken возвращаемые предыдущий вызов метода GetChanges последнего изменения. Или можно использовать конструктор SPChangeToken для создания нового маркера изменения.
Примечание
По умолчанию журнал изменений сохраняются данные на 60 дней. Период хранения можно настроить с помощью свойства ChangeLogRetentionPeriod .
Примеры
Следующий пример является консольное приложение, в котором показано получение всех изменений в журнале. Программа циклически при получении изменений в пакетах и разрывов из цикла, когда он получает коллекцию с нуля участниками, указывающий на то, что он достигнут конец списка.
using System;
using Microsoft.SharePoint;
namespace Test
{
class ConsoleApp
{
static void Main(string[] args)
{
using (SPSite site = new SPSite("https://localhost"))
{
long total = 0;
SPChangeToken token = null;
SPChangeCollection changes = site.ContentDatabase.GetChanges(token);
while (changes.Count > 0)
{
total += changes.Count;
foreach (SPChange change in changes)
{
// Process change.
Console.WriteLine("Date: {0} Type of object: {1} Type of change: {2}",
change.Time.ToShortDateString(), change.GetType().ToString(), change.ChangeType);
}
token = changes.LastChangeToken;
changes = site.ContentDatabase.GetChanges(token);
}
Console.WriteLine("Total changes = {0:#,#}", total);
}
Console.Write("\nPress ENTER to continue...");
Console.ReadLine();
}
}
}
Imports System
Imports Microsoft.SharePoint
Module ConsoleApp
Sub Main()
Using site As SPSite = New SPSite("https://localhost")
Dim total As Long = 0
Dim token As SPChangeToken = Nothing
Dim changes As SPChangeCollection = site.ContentDatabase.GetChanges(token)
While changes.Count > 0
total += changes.Count
For Each change As SPChange In changes
' Process change.
Console.WriteLine("Date: {0} Type of object: {1} Type of change: {2}", _
change.Time.ToShortDateString(), change.GetType().ToString(), change.ChangeType)
Next change
token = changes.LastChangeToken
changes = site.ContentDatabase.GetChanges(token)
End While
Console.WriteLine("Total changes = {0:#,#}", total)
End Using
Console.Write(vbCrLf + "Press ENTER to continue...")
Console.ReadLine()
End Sub
End Module
См. также
Справочные материалы
Пространство имен Microsoft.SharePoint.Administration