Compartilhar via


SPSite.GetChanges method (SPChangeToken)

Retorna uma coleção de alterações, começando em um ponto específico no log de alteração.

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

Syntax

'Declaração
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
    Type: Microsoft.SharePoint.SPChangeToken

    Um objeto de SPChangeToken que especifica uma data e hora inicial. Uma exceção SPException é lançada se o token refere-se a um horário antes do início da atual log de alteração. Para iniciar o final do log de alterações, passe um token de a null reference (Nothing in Visual Basic) .

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.

Se você construir um objeto de SPChangeToken a ser usada com este método, passe SPChangeCollection.CollectionScope.Site como o primeiro argumento do construtor, o valor da propriedade de SPSite.ID do objeto atual como o segundo argumento e um objeto DateTime como terceiro argumento.

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 do log.

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

Ver também

Referência

SPSite class

SPSite members

GetChanges overload

Microsoft.SharePoint namespace

ChangeToken

CurrentChangeToken

Outros recursos

Using the Change Log