(SPChangeToken, SPChangeToken) del método SPWeb.GetChanges
Obtiene los cambios registrados en un período de tiempo especificado.
Espacio de nombres: Microsoft.SharePoint
Ensamblado: Microsoft.SharePoint (en Microsoft.SharePoint.dll)
Sintaxis
'Declaración
Public Function GetChanges ( _
changeToken As SPChangeToken, _
changeTokenEnd As SPChangeToken _
) As SPChangeCollection
'Uso
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
)
Parámetros
changeToken
Tipo: Microsoft.SharePoint.SPChangeTokenEl token de cambio que especifica el punto en el registro de cambios donde que cambian y los cambios después de que se devuelva.
changeTokenEnd
Tipo: Microsoft.SharePoint.SPChangeTokenEl token de cambio especifica el punto en el registro de cambios donde que cambiar y anterior a los cambios se devuelven.
Valor devuelto
Tipo: Microsoft.SharePoint.SPChangeCollection
Los cambios.
Excepciones
Excepción | Condición |
---|---|
SPException | changeToken o changeTokenEnd hace referencia a un punto antes del inicio del actual registro de cambios. |
Comentarios
Para construir el objeto SPChangeToken para este método, pase SPChangeCollection.CollectionScope Web como primer argumento del constructor, el valor de la actual propiedad del objeto SPWeb.ID como segundo argumento y un objeto de DateTime como el tercer argumento.
Además, se aplican las siguientes reglas:
Si la posición de changeTokenEnd en el registro de cambios está antes de la posición de changeToken en el registro de cambios, este método devuelve una colección vacía.
Si changeToken es nulo , la colección de cambios que se devuelve comienza al principio del registro de cambios actual.
Si changeTokenEnd es nulo , la colección de cambio que se devuelve incluye todos los cambios después de la posición especificada por changeToken, hasta el límite de una única colección. Si se ha producido cambios más en este período, se devuelve el primer lote.
Nota
De forma predeterminada, el registro de cambios conserva los datos durante 60 días. Para cambiar el período de retención predeterminado, establezca la propiedad ChangeLogRetentionPeriod .
Ejemplos
En el siguiente ejemplo es una aplicación de consola que consulta el registro de cambios para que los cambios que tuvieron lugar durante un período de siete días. A continuación, la aplicación imprime información acerca de cada cambio en la consola.
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
Vea también
Referencia
Espacio de nombres Microsoft.SharePoint