Partager via


SPWeb.GetChanges - Méthode (SPChangeToken, SPChangeToken)

Obtient les modifications enregistrées sur une période de temps spécifiée.

Espace de noms :  Microsoft.SharePoint
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
Public Function GetChanges ( _
    changeToken As SPChangeToken, _
    changeTokenEnd As SPChangeToken _
) As SPChangeCollection
'Utilisation
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
)

Paramètres

  • changeToken
    Type : Microsoft.SharePoint.SPChangeToken

    Le jeton de modification spécifiant le point dans le journal des modifications où qui changent et les modifications après avoir renvoyé.

  • changeTokenEnd
    Type : Microsoft.SharePoint.SPChangeToken

    Le jeton de modification spécifiant le point dans le journal de modification où qui changent et précédant la modification sont renvoyés.

Valeur renvoyée

Type : Microsoft.SharePoint.SPChangeCollection
Les modifications apportées.

Exceptions

Exception Condition
SPException

changeToken ou changeTokenEnd , fait référence à un point avant le début de l'actuel modifier journal.

Remarques

Pour créer l'objet SPChangeToken pour cette méthode, passer SPChangeCollection.CollectionScope Web en tant que premier argument du constructeur, la valeur du deuxième argument de la propriété SPWeb.ID de l'objet en cours et un objet de DateTime en tant que troisième argument.

En outre, les règles suivantes s'appliquent :

  • Si la position de changeTokenEnd dans le journal des modifications est avant la position de changeToken dans le journal modification, cette méthode retourne une collection vide.

  • Si changeToken est null , la modifier la collection qui est retournée commence au début du journal de modification en cours.

  • Si changeTokenEnd est null , la modifier la collection qui est retournée inclut toutes les modifications apportées après la position spécifiée par changeToken, dans la limite d'une collection unique. Si plusieurs modifications s'est produite au cours de cette période, le premier lot est retourné.

Notes

Par défaut, le journal des modifications conserve les données pendant 60 jours. Pour modifier la période de rétention par défaut, définissez la propriété ChangeLogRetentionPeriod .

Exemples

L'exemple suivant est une application console qui interroge le journal modification pour les modifications qui ont eu lieu pendant une période de sept jours. L'application imprime des informations sur chaque modification apportée à la console.

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

Voir aussi

Référence

SPWeb classe

SPWeb - Membres

GetChanges - Surcharge

Microsoft.SharePoint - Espace de noms

Autres ressources

Using the Change Log