Compartir a través de


(SPChangeToken) del método SPSite.GetChanges

Devuelve una colección de los cambios realizados a partir de un punto concreto en el registro de cambios.

Espacio de nombres:  Microsoft.SharePoint
Ensamblado:  Microsoft.SharePoint (en Microsoft.SharePoint.dll)

Sintaxis

'Declaración
Public Function GetChanges ( _
    changeToken As SPChangeToken _
) As SPChangeCollection
'Uso
Dim instance As SPSite
Dim changeToken As SPChangeToken
Dim returnValue As SPChangeCollection

returnValue = instance.GetChanges(changeToken)
public SPChangeCollection GetChanges(
    SPChangeToken changeToken
)

Parámetros

  • changeToken
    Tipo: Microsoft.SharePoint.SPChangeToken

    Objeto SPChangeToken que especifica una fecha y hora inicial. Se produce una excepción de SPException si el token hace referencia a un tiempo antes de que el inicio de la actual de registro de cambios. Para iniciar al principio del registro de cambios, pase un token una referencia null (Nothing en Visual Basic) .

Valor devuelto

Tipo: Microsoft.SharePoint.SPChangeCollection
Una colección de objetos SPChange que representan los cambios.

Comentarios

Puede obtener un objeto SPChangeToken para pasar como un argumento a este método mediante la extracción de uno de la propiedad ChangeToken del último cambio devuelto por una llamada anterior al método GetChanges . O puede usar el constructor SPChangeToken para crear un nuevo token de cambio.

Si crea un objeto SPChangeToken para usar con este método, pase SPChangeCollection.CollectionScope.Site como primer argumento del constructor, el valor de la actual propiedad del objeto SPSite.ID como segundo argumento y un objeto DateTime como el argumento tercero.

Nota

De forma predeterminada, el registro de cambios conserva los datos de 60 días. Puede configurar el período de retención estableciendo la propiedad ChangeLogRetentionPeriod .

Ejemplos

En el siguiente ejemplo es una aplicación de consola que demuestra cómo obtener todos los cambios realizados en el registro. El programa en bucle durante la obtención de cambios por lotes y sale del bucle cuando se recupera de una colección con cero miembros, lo que significa que ha alcanzado el final del registro de.

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

Vea también

Referencia

clase SPSite

Miembros SPSite

Sobrecarga GetChanges

Espacio de nombres Microsoft.SharePoint

ChangeToken

CurrentChangeToken

Otros recursos

Using the Change Log