Compartir a través de


(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.SPChangeToken

    El 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.SPChangeToken

    El 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

clase SPWeb

Miembros SPWeb

Sobrecarga GetChanges

Espacio de nombres Microsoft.SharePoint

Otros recursos

Using the Change Log