SPSite.GetChanges-Methode (SPChangeToken, SPChangeToken)
Gibt eine Auflistung von Änderungen, die über einen bestimmten Zeitraum protokolliert wurden.
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
Public Function GetChanges ( _
changeToken As SPChangeToken, _
changeTokenEnd As SPChangeToken _
) As SPChangeCollection
'Usage
Dim instance As SPSite
Dim changeToken As SPChangeToken
Dim changeTokenEnd As SPChangeToken
Dim returnValue As SPChangeCollection
returnValue = instance.GetChanges(changeToken, _
changeTokenEnd)
public SPChangeCollection GetChanges(
SPChangeToken changeToken,
SPChangeToken changeTokenEnd
)
Parameter
changeToken
Typ: Microsoft.SharePoint.SPChangeTokenEin SPChangeToken -Objekt, das eine Anfangszeichen-Datum und Uhrzeit angibt.
changeTokenEnd
Typ: Microsoft.SharePoint.SPChangeTokenEin SPChangeToken -Objekt, das Datum und Zeit ein angibt.
Rückgabewert
Typ: Microsoft.SharePoint.SPChangeCollection
Eine Auflistung von SPChange -Objekten, die Änderungen darstellen.
Hinweise
Wenn Sie die SPChangeToken -Objekte 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.
Darüber hinaus gelten die folgenden Regeln.
Falls ein Token auf einen Zeitpunkt verweist, der vor dem Start des aktuellen Änderungsprotokolls liegt, wird von der Methode eine SPException-Ausnahme ausgegeben.
Wenn der Zeitpunkt der zweiten Token einer älteren Version als der Zeitpunkt der ersten Token ist, gibt die-Methode eine leere Auflistung zurück.
Falls das erste Token ein Nullverweis (Nothing in Visual Basic) ist, beginnt die zurückgegebene Änderungsauflistung am Anfang des aktuellen Änderungsprotokolls.
Falls das zweite Token ein Nullverweis (Nothing in Visual Basic) ist, enthält die zurückgegebene Änderungsauflistung alle Änderungen nach dem Datum, das vom ersten Änderungstoken angegeben wird, bis die Grenze für eine einzelne Auflistung erreicht ist. Falls in diesem Zeitraum mehr Änderungen aufgetreten sind, wird der erste Batch zurückgegeben.
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 das Änderungsprotokoll nach Änderungen abfragt, die während eines Zeitraums von sieben Tagen ausgeführt wurden. Klicken Sie dann die Anwendung werden Informationen zu jeder Änderung in der Konsole gedruckt.
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.RootWeb)
{
SPChangeToken startToken = new SPChangeToken(
SPChangeCollection.CollectionScope.Site,
siteCollection.ID,
new DateTime(2008, 11, 17));
SPChangeToken endToken = new SPChangeToken(
SPChangeCollection.CollectionScope.Site,
siteCollection.ID,
new DateTime(2008, 11, 23));
long total = 0;
SPChangeCollection changes = siteCollection.GetChanges(startToken, endToken);
while (changes.Count > 0)
{
total += changes.Count;
foreach (SPChange change in changes)
{
Console.WriteLine("\nDate: {0}", change.Time.ToShortDateString());
Console.WriteLine("Object type: {0}", change.GetType().ToString());
Console.WriteLine("Change type: {0}", change.ChangeType);
}
startToken = changes.LastChangeToken;
changes = siteCollection.GetChanges(startToken, endToken);
}
Console.WriteLine("\nTotal changes = {0:#,#}", total);
}
}
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.RootWeb
Dim startToken As New SPChangeToken(SPChangeCollection.CollectionScope.Site, _
siteCollection.ID, _
New DateTime(2008, 11, 17))
Dim endToken As New SPChangeToken(SPChangeCollection.CollectionScope.Site, _
siteCollection.ID, _
New DateTime(2008, 11, 23))
Dim total As Long = 0
Dim changes As SPChangeCollection = siteCollection.GetChanges(startToken, endToken)
While changes.Count > 0
total += changes.Count
For Each change As SPChange In changes
Console.WriteLine(vbCrLf + "Date: {0}", change.Time.ToShortDateString())
Console.WriteLine("Object type: {0}", change.GetType().ToString())
Console.WriteLine("Change type: {0}", change.ChangeType)
Next change
startToken = changes.LastChangeToken
changes = siteCollection.GetChanges(startToken, endToken)
End While
Console.WriteLine(vbCrLf + "Total changes = {0:#,#}", total)
End Using
End Using
Console.Write(vbCrLf + "Press ENTER to continue...")
Console.ReadLine()
End Sub
End Module
Siehe auch
Referenz
Microsoft.SharePoint-Namespace