Метод SPList.GetChanges (SPChangeToken)
Возвращает коллекцию изменений, начиная с определенной точки в журнал изменений.
Пространство имен: Microsoft.SharePoint
Сборка: Microsoft.SharePoint (в Microsoft.SharePoint.dll)
Синтаксис
'Декларация
Public Function GetChanges ( _
changeToken As SPChangeToken _
) As SPChangeCollection
'Применение
Dim instance As SPList
Dim changeToken As SPChangeToken
Dim returnValue As SPChangeCollection
returnValue = instance.GetChanges(changeToken)
public SPChangeCollection GetChanges(
SPChangeToken changeToken
)
Параметры
changeToken
Тип: Microsoft.SharePoint.SPChangeTokenДата и время начала. Чтобы запустить в начале журнал изменений, присвойте этому параметру значение пустая ссылка (Nothing в Visual Basic).
Возвращаемое значение
Тип: Microsoft.SharePoint.SPChangeCollection
Изменения, которые происходили в списке, начиная с даты и времени, заданного параметром changeToken.
Исключения
Исключение | Условие |
---|---|
SPException | changeToken ссылается на момент времени до начала текущего журнала изменений. |
Замечания
Можно получить объект SPChangeToken для передачи как аргумент этот метод путем извлечения одного из свойства ChangeToken возвращаемые предыдущий вызов метода GetChanges последнего изменения. Или можно использовать конструктор SPChangeToken для создания нового маркера изменения.
Примечание
По умолчанию журнал изменений сохраняются данные на 60 дней. Период хранения можно настроить с помощью свойства ChangeLogRetentionPeriod .
Примеры
Следующий пример является консольное приложение, в котором показано получение всех изменений в журнале. Программа циклически при получении изменений в пакетах и разрывов из цикла, когда он получает коллекцию с нуля участниками, указывающий на то, что он достигнут конец списка.
using System;
using Microsoft.SharePoint;
namespace Test
{
class ConsoleApp
{
static void Main(string[] args)
{
using (SPSite siteCollection = new SPSite("https://localhost"))
{
using (SPWeb webSite = siteCollection.OpenWeb())
{
// Get a list.
SPList list = webSite.Lists[0];
int total = 0;
SPChangeToken token = null;
// Get the first batch of changes.
SPChangeCollection changes = list.GetChanges(token);
// Loop until we reach the end of the log.
while (changes.Count > 0)
{
total += changes.Count;
// Go get another batch.
token = changes.LastChangeToken;
changes = list.GetChanges(token);
}
Console.WriteLine("Total of {0:#,#} changes to {1} list", total, list.Title);
}
}
Console.Write("\nPress ENTER to continue...");
Console.ReadLine();
}
}
}
Imports System
Imports Microsoft.SharePoint
Module ConsoleApp
Sub Main()
Using siteCollection As SPSite = New SPSite("https://localhost")
Using webSite As SPWeb = siteCollection.OpenWeb()
' Get a list.
Dim list As SPList = webSite.Lists(0)
Dim total As Integer = 0
Dim token As SPChangeToken = Nothing
' Get the first batch of changes.
Dim changes As SPChangeCollection = list.GetChanges(token)
' Loop until we reach the end of the log.
While changes.Count > 0
total += changes.Count
' Go get another batch of changes starting where we left off.
token = changes.LastChangeToken
changes = list.GetChanges(token)
End While
Console.WriteLine("Total of {0:#,#} changes to {1} list", total, List.Title)
End Using
End Using
Console.Write(vbCrLf + "Press ENTER to continue...")
Console.ReadLine()
End Sub
End Module
См. также
Справочные материалы
Пространство имен Microsoft.SharePoint