Share via


SPContentDatabase.GetChanges-Methode (SPChangeToken)

Gibt die Auflistung der Inhaltsdatenbank ändert, beginnend bei einem angegebenen Datum zurück.

Namespace:  Microsoft.SharePoint.Administration
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaration
Public Function GetChanges ( _
    changeToken As SPChangeToken _
) As SPChangeCollection
'Usage
Dim instance As SPContentDatabase
Dim changeToken As SPChangeToken
Dim returnValue As SPChangeCollection

returnValue = instance.GetChanges(changeToken)
public SPChangeCollection GetChanges(
    SPChangeToken changeToken
)

Parameter

Rückgabewert

Typ: Microsoft.SharePoint.SPChangeCollection
Eine Auflistung von SPChange -Objekten, die die Änderungen darstellen.

Hinweise

Sie können ein SPChangeToken -Objekt, das an diese Methode als Argument übergeben, durch eine von der ChangeToken -Eigenschaft der letzten Änderung von einem vorherigen Aufruf der GetChanges -Methode zurückgegebene extrahieren abrufen. Oder Sie können den SPChangeToken -Konstruktor zum Erstellen einer neuen Änderungstoken.

Hinweis

In der Standardeinstellung behält das Änderungsprotokoll Daten für 60 Tage. Sie können die Aufbewahrungsdauer konfigurieren, indem die ChangeLogRetentionPeriod -Eigenschaft festlegen.

Beispiele

Das folgende Beispiel ist eine Konsolenanwendung, die veranschaulicht, wie Sie alle Änderungen im Protokoll abrufen. Das Programm beim Abrufen von Änderungen in Batches durchlaufen und die Schleife wird ausgeführt, wenn er ruft eine Auflistung mit 0 (null) Elementen, womit angezeigt wird, dass sie am Ende der Liste erreicht hat.

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

Siehe auch

Referenz

SPContentDatabase Klasse

SPContentDatabase-Member

GetChanges-Überladung

Microsoft.SharePoint.Administration-Namespace

Weitere Ressourcen

Using the Change Log