SPWeb.GetChanges-Methode (SPChangeToken, SPChangeToken)
Ruft ab, die Änderungen, die über einen bestimmten Zeitraum angemeldet.
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 SPWeb
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.SPChangeTokenDie Angabe des Punkts im Änderungsprotokoll, wobei die ändern und Änderungen Änderungstoken nach zurückgegeben werden.
changeTokenEnd
Typ: Microsoft.SharePoint.SPChangeTokenDie Änderungstoken werden angeben den Punkt im Änderungsprotokoll, wobei die ändern und vor Änderungen zurückgegeben.
Rückgabewert
Typ: Microsoft.SharePoint.SPChangeCollection
Die Änderungen.
Ausnahmen
Ausnahme | Bedingung |
---|---|
SPException | changeToken oder changeTokenEnd verweist auf einen Punkt vor dem Start des aktuellen Änderung der Registrierung. |
Hinweise
Zum Erstellen des SPChangeToken -Objekts für diese Methode übergeben Sie SPChangeCollection.CollectionScope Web als erstes Argument des Konstruktors, der Wert der SPWeb.ID -Eigenschaft des aktuellen Objekts als zweites Argument und ein DateTime -Objekt als das dritte Argument.
Darüber hinaus gelten die folgenden Regeln:
Wenn die Position des changeTokenEnd im Änderungsprotokoll vor der die Position des changeToken im Änderungsprotokoll ist, gibt diese Methode eine leere Auflistung zurück.
Wenn changeToken Null ist, beginnt die, die zurückgegeben wird am Anfang des aktuellen Änderungsprotokolls.
Wenn changeTokenEnd Null ist, enthält die Änderung-Auflistung, die zurückgegeben wird alle Änderungen nach der die Position von changeToken, bis das Limit für eine einzelne Auflistung angegeben. Wenn mehrere Änderungen in dieser Zeit aufgetreten ist, wird die erste Gruppe zurückgegeben.
Hinweis
Standardmäßig behält das Änderungsprotokoll für 60 Tage Daten. Um den Standard-Aufbewahrungszeitraum zu ändern, legen Sie 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)
{
SPTimeZone timeZone = webSite.RegionalSettings.TimeZone;
long total = 0;
SPChangeToken startToken = new SPChangeToken(
SPChangeCollection.CollectionScope.Web,
webSite.ID,
new DateTime(2008, 11, 17));
SPChangeToken endToken = new SPChangeToken(
SPChangeCollection.CollectionScope.Web,
webSite.ID,
new DateTime(2008, 11, 23));
SPChangeCollection changes = webSite.GetChanges(startToken, endToken);
while (changes.Count > 0)
{
total += changes.Count;
foreach (SPChange change in changes)
{
Console.WriteLine("\nDate: {0}", timeZone.UTCToLocalTime(change.Time).ToString());
Console.WriteLine("Object type: {0}", change.GetType().ToString());
Console.WriteLine("Change type: {0}", change.ChangeType);
}
startToken = changes.LastChangeToken;
changes = webSite.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 timeZone As SPTimeZone = webSite.RegionalSettings.TimeZone
Dim total As Long = 0
Dim startToken As New SPChangeToken(SPChangeCollection.CollectionScope.Web, _
webSite.ID, _
New DateTime(2008, 11, 17))
Dim endToken As New SPChangeToken(SPChangeCollection.CollectionScope.Web, _
webSite.ID, _
New DateTime(2008, 11, 23))
Dim changes As SPChangeCollection = webSite.GetChanges(startToken, endToken)
While changes.Count > 0
total += changes.Count
For Each change As SPChange In changes
Console.WriteLine(vbCrLf + "Date: {0}", timeZone.UTCToLocalTime(change.Time).ToString())
Console.WriteLine("Object type: {0}", change.GetType().ToString())
Console.WriteLine("Change type: {0}", change.ChangeType)
Next change
startToken = changes.LastChangeToken
changes = webSite.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