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
changeToken
Typ: Microsoft.SharePoint.SPChangeTokenEin SPChangeToken -Objekt, das Datum und die Uhrzeit angibt. Wenn das Token auf einen Zeitpunkt vor dem Start des aktuellen Änderungsprotokolls verweist, wird eine SPException -Ausnahme ausgelöst.
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
Microsoft.SharePoint.Administration-Namespace