Freigeben über


SPSite.GetChanges-Methode (SPChangeToken)

Gibt eine Auflistung von Änderungen, ausgehend von einem bestimmten Zeitpunkt im Änderungsprotokoll.

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

Syntax

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

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

Parameter

  • changeToken
    Typ: Microsoft.SharePoint.SPChangeToken

    Ein SPChangeToken -Objekt, das eine Anfangszeichen-Datum und Uhrzeit angibt. Eine Ausnahme SPException wird ausgelöst, wenn das Token auf einen Zeitpunkt verweist vor dem Start des aktuellen Änderung der Registrierung. Um am Anfang des Änderungsprotokolls zu starten, übergeben Sie ein Token ein Nullverweis (Nothing in Visual Basic) .

Rückgabewert

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

Hinweise

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

Wenn Sie ein SPChangeToken -Objekt zur Verwendung mit dieser Methode erstellen, übergeben Sie SPChangeCollection.CollectionScope.Site als erstes Argument des Konstruktors, der Wert der SPSite.ID -Eigenschaft des aktuellen Objekts als zweites Argument und ein DateTime -Objekt als das dritte Argument.

Hinweis

Standardmäßig behält das Änderungsprotokoll für 60 Tage Daten. Sie können die Dauer der Beibehaltung konfigurieren, indem die ChangeLogRetentionPeriod -Eigenschaft.

Beispiele

Im folgende Beispiel wird eine Konsolenanwendung, die auf alle Änderungen in das Protokoll abrufen veranschaulicht. Das Programm beim Abrufen von Änderungen in den Reihen durchlaufen und die Schleife bricht, wenn es ruft eine Auflistung mit null Elementen, womit angezeigt wird, dass sie das Ende des Protokolls erreicht wurde.

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

Siehe auch

Referenz

SPSite Klasse

SPSite-Member

GetChanges-Überladung

Microsoft.SharePoint-Namespace

ChangeToken

CurrentChangeToken

Weitere Ressourcen

Using the Change Log