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.SPChangeTokenObjet 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
Microsoft.SharePoint - Espace de noms