Compartir a través de


del método SPWeb.GetChanges

Obtiene todos los cambios que se enumeran en el registro de cambios actual para el sitio Web.

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

Sintaxis

'Declaración
Public Function GetChanges As SPChangeCollection
'Uso
Dim instance As SPWeb
Dim returnValue As SPChangeCollection

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

Valor devuelto

Tipo: Microsoft.SharePoint.SPChangeCollection
Los cambios.

Comentarios

El número total de cambios devueltos por una consulta en el registro de cambios puede ser muy grande. Por motivos de rendimiento, los cambios se devuelven en lotes de hasta 2000. Este método de sobrecarga devuelve sólo el primer lote de cambios se registra en el registro.

Para obtener todos los cambios en lugar de sólo el primer lote, llamar a este método en un bucle hasta que devuelve una colección con cambios 0, lo que significa que ha alcanzado el final del registro. Utilice la propiedad ChangeToken desde el último cambio de la primera sección para obtener la segunda por lotes y así sucesivamente, hasta que obtenga una colección vacía. Para obtener un ejemplo, vea el método GetChanges(SPChangeToken) .

Nota

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

Ejemplos

El ejemplo es una aplicación de consola que usa el método GetChanges para crear un archivo de registro que contiene información sobre el primer lote de cambios que aparecen en el registro de cambios.

using System;
using System.IO;
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;
               string fileName = "ChangeLog.txt";
               StreamWriter writer = File.AppendText(fileName);

               SPChangeCollection changes = webSite.GetChanges();

               foreach (SPChange change in changes)
               {
                  writer.WriteLine( "\r\nDate: {0}", timeZone.UTCToLocalTime(change.Time).ToString());
                  writer.WriteLine("Object type: {0}", change.GetType().ToString());
                  writer.WriteLine("Change type: {0}", change.ChangeType);
               }

               writer.WriteLine("\r\nTotal changes = {0:#,#}", changes.Count);
               writer.Flush();
               writer.Close();

               Console.WriteLine("{0} changes written to {1}", changes.Count, fileName);
            }
         }
         Console.Write("\nPress ENTER to continue...");
         Console.ReadLine();
      }
   }
}
Imports System
Imports System.IO
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 fileName As String = "ChangeLog.txt"
            Dim writer As StreamWriter = File.AppendText(fileName)

            Dim changes As SPChangeCollection = webSite.GetChanges()

            For Each change As SPChange In changes
               writer.WriteLine(vbCrLf + "Date: {0}", timeZone.UTCToLocalTime(change.Time).ToString())
               writer.WriteLine("Object type: {0}", change.GetType().ToString())
               writer.WriteLine("Change type: {0}", change.ChangeType)
            Next change

            writer.WriteLine(vbCrLf + "Total changes = {0:#,#}", changes.Count)
            writer.Flush()
            writer.Close()

            Console.WriteLine("{0} changes written to {1}", changes.Count, fileName)
         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