Share via


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

Cette propriété renvoie une collection de modifications qui ont été ouvert une session sur un laps de temps.

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 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
)

Paramètres

Valeur renvoyée

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

Remarques

Lorsque vous construisez les objets SPChangeToken à utiliser avec cette méthode, passez 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.

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

  • Si l'un des deux jetons désigne un moment se situant avant le début de l'actuel journal des modifications, la méthode lève une exception SPException.

  • Si le moment de la deuxième jeton intervient avant le moment du premier jeton, la méthode renvoie une collection vide.

  • Si le premier jeton est une référence Null (Rien dans Visual Basic), la collection des modifications qui est retournée commence au début du journal des modifications actuel.

  • Si le second jeton est une référence Null (Rien dans Visual Basic), la collection des modifications qui est retournée inclut toutes les modifications après la date du premier jeton des modifications, jusqu'à la limite pour une collection unique. Si plus de modifications se sont produites au cours de cette période, le premier lot est retourné.

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 interroge le journal des modifications qui ont eu lieu pendant une période de sept jours. Ensuite, l'application imprime des informations sur chaque modification de 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)
            {
               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

Voir aussi

Référence

SPSite classe

SPSite - Membres

GetChanges - Surcharge

Microsoft.SharePoint - Espace de noms

SPChangeToken

Autres ressources

Using the Change Log