SPList.GetChanges-Methode (SPChangeToken)
Gibt eine Auflistung von Änderungen ab einem bestimmten Punkt 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 SPList
Dim changeToken As SPChangeToken
Dim returnValue As SPChangeCollection
returnValue = instance.GetChanges(changeToken)
public SPChangeCollection GetChanges(
SPChangeToken changeToken
)
Parameter
changeToken
Typ: Microsoft.SharePoint.SPChangeTokenDas Datum und die Startzeit. Legen Sie diesen Wert auf ein Nullverweis (Nothing in Visual Basic), um am Anfang des Änderungsprotokolls zu starten.
Rückgabewert
Typ: Microsoft.SharePoint.SPChangeCollection
Die Änderungen, die seit der angegebene Datums- und Uhrzeitangabe von changeTokenin der Liste vorgenommen wurden.
Ausnahmen
Ausnahme | Bedingung |
---|---|
SPException | changeToken verweist auf einen Zeitpunkt vor dem Beginn der aktuellen Änderungsprotokoll. |
Hinweise
Sie erhalten ein SPChangeToken -Objekt, das als Argument an diese Methode übergeben, indem Sie extrahieren aus der ChangeToken -Eigenschaft der letzten Änderung, die von einem vorherigen Aufruf der GetChanges -Methode zurückgegeben. Oder können Sie den SPChangeToken -Konstruktor zum Erstellen eines neuen Tokens ändern.
Hinweis
Standardmäßig behält das Änderungsprotokoll Daten für 60 Tage. Sie können die Aufbewahrungsdauer konfigurieren, indem die ChangeLogRetentionPeriod -Eigenschaft.
Beispiele
Im folgende Beispiel ist eine Konsolenanwendung, die veranschaulicht, wie Sie alle Änderungen im Protokoll zu erhalten. Das Programm während des Abrufs von Änderungen in Batches Schleife und bricht die Schleife, wenn abgerufen, eine Auflistung mit 0 (null) bedeutet, dass sie am Ende der Liste erreicht hat.
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
Siehe auch
Referenz
Microsoft.SharePoint-Namespace