SPSite.GetChanges - Méthode (SPChangeToken)

Renvoie une collection des modifications, à partir d'un point spécifique dans le journal des modifications.

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

Syntaxe

'Déclaration
Public Function GetChanges ( _
    changeToken As SPChangeToken _
) As SPChangeCollection
'Utilisation
Dim instance As SPSite
Dim changeToken As SPChangeToken
Dim returnValue As SPChangeCollection

returnValue = instance.GetChanges(changeToken)
public SPChangeCollection GetChanges(
    SPChangeToken changeToken
)

Paramètres

  • changeToken
    Type : Microsoft.SharePoint.SPChangeToken

    Objet SPChangeToken qui spécifie une date de départ et une heure. Une exception SPException est générée si le jeton fait référence à la fois avant le début de l'actuel journal des modifications. Pour démarrer au début du journal des modifications, transmettez un jeton une référence Null (Rien dans Visual Basic) .

Valeur renvoyée

Type : Microsoft.SharePoint.SPChangeCollection
Collection d'objets SPChange qui représentent les modifications.

Remarques

Vous pouvez obtenir un objet SPChangeToken à transmettre en tant qu'argument à cette méthode par l'extraction de 1 à partir de la propriété ChangeToken de la dernière modification renvoyée par un appel précédent à la méthode GetChanges . Ou vous pouvez utiliser le constructeur SPChangeToken pour créer un nouveau jeton de modification.

Si vous construisez un objet SPChangeToken à utiliser avec cette méthode, transmettez SPChangeCollection.CollectionScope.Site en tant que premier argument du constructeur, la valeur de propriété de SPSite.ID de l'objet actif comme second argument et de l'objet DateTime en tant que l'argument troisième.

Notes

Par défaut, le journal des modifications conserve des données pendant 60 jours. Vous pouvez configurer la période de rétention en définissant la propriété ChangeLogRetentionPeriod .

Exemples

L'exemple suivant est une application console qui illustre comment obtenir toutes les modifications dans le journal. Le programme effectue une boucle lors de l'obtention des modifications en lots, annule hors de la boucle lorsqu'il récupère une collection avec zéro membres, ce qui signifie qu'elle a atteint la fin du journal.

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;

            // Get the first batch of changes.
            SPChangeCollection changes= site.GetChanges(token);

            // Loop until the end of the log is reached.
            while (changes.Count > 0)
            {
               total += changes.Count;

               foreach (SPChange change in changes)
               {
                  string str = change.ChangeType.ToString();
                  Console.WriteLine(str);
               }

               changes= site.GetChanges(token);
               token = changes.LastChangeToken;
            }

            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

         ' Get the first batch of changes.
         Dim changes As SPChangeCollection = site.GetChanges(token)

        ' Loop until the end of the log is reached.
         While changes.Count > 0
            total += changes.Count

            For Each change As SPChange In changes
               Dim str As String = change.ChangeType.ToString()
               ' Process change.
               Console.WriteLine(str)
            Next change

            token = changes.LastChangeToken
            changes = site.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

Voir aussi

Référence

SPSite classe

SPSite - Membres

GetChanges - Surcharge

Microsoft.SharePoint - Espace de noms

ChangeToken

CurrentChangeToken

Autres ressources

Using the Change Log