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.SPChangeToken

    Die Angabe des Punkts im Änderungsprotokoll, wobei die ändern und Änderungen Änderungstoken nach zurückgegeben werden.

  • changeTokenEnd
    Typ: Microsoft.SharePoint.SPChangeToken

    Die Ä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

SPWeb Klasse

SPWeb-Member

GetChanges-Überladung

Microsoft.SharePoint-Namespace

Weitere Ressourcen

Using the Change Log