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