SPContentDatabase.GetChanges - Méthode (SPChangeToken)
Renvoie la collection des modifications apportées à la base de données de contenu, à partir d'une date spécifiée.
Espace de noms : Microsoft.SharePoint.Administration
Assembly : Microsoft.SharePoint (dans Microsoft.SharePoint.dll)
Syntaxe
'Déclaration
Public Function GetChanges ( _
changeToken As SPChangeToken _
) As SPChangeCollection
'Utilisation
Dim instance As SPContentDatabase
Dim changeToken As SPChangeToken
Dim returnValue As SPChangeCollection
returnValue = instance.GetChanges(changeToken)
public SPChangeCollection GetChanges(
SPChangeToken changeToken
)
Paramètres
changeToken
Type : Microsoft.SharePoint.SPChangeTokenObjet SPChangeToken qui spécifie une date et une heure de début. Si le jeton fait référence à une heure avant le début du journal de modification en cours, une exception SPException est levée.
Valeur renvoyée
Type : Microsoft.SharePoint.SPChangeCollection
Collection d'objets SPChange qui représentent les modifications.
Remarques
Vous pouvez obtenir un objet SPChangeToken à passer en tant qu'argument à cette méthode en extrayant une à partir de la propriété ChangeToken de la dernière modification retournée par un appel précédent à la méthode GetChanges . Ou bien, vous pouvez utiliser le constructeur SPChangeToken pour créer un nouveau jeton de modification.
Notes
Par défaut, le journal des modifications conserve les 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 de console qui montre comment obtenir toutes les modifications dans le journal. Le programme effectue une boucle lors de l'obtention des modifications par lots et interrompt la boucle lorsqu'il récupère une collection de membres de zéro, ce qui signifie qu'il a atteint la fin de la liste.
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;
SPChangeCollection changes = site.ContentDatabase.GetChanges(token);
while (changes.Count > 0)
{
total += changes.Count;
foreach (SPChange change in changes)
{
// Process change.
Console.WriteLine("Date: {0} Type of object: {1} Type of change: {2}",
change.Time.ToShortDateString(), change.GetType().ToString(), change.ChangeType);
}
token = changes.LastChangeToken;
changes = site.ContentDatabase.GetChanges(token);
}
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
Dim changes As SPChangeCollection = site.ContentDatabase.GetChanges(token)
While changes.Count > 0
total += changes.Count
For Each change As SPChange In changes
' Process change.
Console.WriteLine("Date: {0} Type of object: {1} Type of change: {2}", _
change.Time.ToShortDateString(), change.GetType().ToString(), change.ChangeType)
Next change
token = changes.LastChangeToken
changes = site.ContentDatabase.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
Microsoft.SharePoint.Administration - Espace de noms