Метод 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

См. также

Справочные материалы

SPSite класс

Элементы SPSite

Перегрузка GetChanges

Пространство имен Microsoft.SharePoint

ChangeToken

CurrentChangeToken

Другие ресурсы

Using the Change Log