Compartilhar via


SPContentDatabase.GetChanges method (SPChangeToken)

Retorna a coleção das alterações de banco de dados de conteúdo, a partir de uma data especificada.

Namespace:  Microsoft.SharePoint.Administration
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaração
Public Function GetChanges ( _
    changeToken As SPChangeToken _
) As SPChangeCollection
'Uso
Dim instance As SPContentDatabase
Dim changeToken As SPChangeToken
Dim returnValue As SPChangeCollection

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

Parâmetros

Valor retornado

Type: Microsoft.SharePoint.SPChangeCollection
Uma coleção de objetos SPChange que representam as alterações.

Comentários

Você pode obter um objeto SPChangeToken para passar como um argumento para esse método extraindo um da propriedade ChangeToken da última alteração retornada por uma chamada anterior do método GetChanges . Ou, você pode usar o construtor de SPChangeToken para criar um novo token de alteração.

Dica

Por padrão, o log de alterações retém dados por 60 dias. Você pode configurar o período de retenção, definindo a propriedade ChangeLogRetentionPeriod .

Examples

O exemplo a seguir é um aplicativo de console que demonstra como obter todas as alterações no registro. O programa executa um loop ao obter alterações em lotes e sai do loop quando ele recupera uma coleção com zero membros, significando que atingiu o final da lista.

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;

            SPChangeCollection changes = site.ContentDatabase.GetChanges(token);
            while (changes.Count > 0)
            {
               total += changes.Count;

               foreach (SPChange change in changes)
               {
                  // Process change.
                  Console.WriteLine("Date: {0}  Type of object: {1}  Type of change: {2}", 
                     change.Time.ToShortDateString(), change.GetType().ToString(), change.ChangeType);
               }

               token = changes.LastChangeToken;
               changes = site.ContentDatabase.GetChanges(token);
            }

            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

         Dim changes As SPChangeCollection = site.ContentDatabase.GetChanges(token)
         While changes.Count > 0
            total += changes.Count

            For Each change As SPChange In changes
               ' Process change.
                  Console.WriteLine("Date: {0}  Type of object: {1}  Type of change: {2}", _
                     change.Time.ToShortDateString(), change.GetType().ToString(), change.ChangeType)
            Next change

            token = changes.LastChangeToken
            changes = site.ContentDatabase.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

Ver também

Referência

SPContentDatabase class

SPContentDatabase members

GetChanges overload

Microsoft.SharePoint.Administration namespace

Outros recursos

Using the Change Log