Метод SPSite.GetChanges (SPChangeToken)
Возвращает коллекцию изменений, начиная с определенной точки в журнал изменений.
Пространство имен: Microsoft.SharePoint
Сборка: Microsoft.SharePoint (в Microsoft.SharePoint.dll)
Синтаксис
'Декларация
Public Function GetChanges ( _
changeToken As SPChangeToken _
) As SPChangeCollection
'Применение
Dim instance As SPSite
Dim changeToken As SPChangeToken
Dim returnValue As SPChangeCollection
returnValue = instance.GetChanges(changeToken)
public SPChangeCollection GetChanges(
SPChangeToken changeToken
)
Параметры
changeToken
Тип: Microsoft.SharePoint.SPChangeTokenОбъект SPChangeToken , указывающий даты и времени начала. SPException — это исключение, если токен ссылается на время до начала текущего журнала изменения. Чтобы начать в начале журнала изменений, передайте пустая ссылка (Nothing в Visual Basic) маркер.
Возвращаемое значение
Тип: Microsoft.SharePoint.SPChangeCollection
Коллекция объектов SPChange , которые представляют изменения.
Замечания
Вы можете получить объект SPChangeToken для передачи в качестве аргумента в этот метод путем извлечения одного из свойства ChangeToken последнего изменения, возвращенные в предыдущем вызове метода GetChanges . Или можно использовать конструктор SPChangeToken для создания нового маркер изменения.
При создании объекта SPChangeToken для использования с помощью этого метода, передайте SPChangeCollection.CollectionScope.Site как первый аргумента конструктора, значение свойства SPSite.ID текущего объекта в качестве второго аргумента и объект DateTime в качестве аргумента.
Примечание
По умолчанию в журнал изменений данных составляет 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;
// Get the first batch of changes.
SPChangeCollection changes= site.GetChanges(token);
// Loop until the end of the log is reached.
while (changes.Count > 0)
{
total += changes.Count;
foreach (SPChange change in changes)
{
string str = change.ChangeType.ToString();
Console.WriteLine(str);
}
changes= site.GetChanges(token);
token = changes.LastChangeToken;
}
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
' Get the first batch of changes.
Dim changes As SPChangeCollection = site.GetChanges(token)
' Loop until the end of the log is reached.
While changes.Count > 0
total += changes.Count
For Each change As SPChange In changes
Dim str As String = change.ChangeType.ToString()
' Process change.
Console.WriteLine(str)
Next change
token = changes.LastChangeToken
changes = site.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