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
changeToken
Type: Microsoft.SharePoint.SPChangeTokenUm objeto de SPChangeToken que especifica uma data e hora inicial. Se o token refere-se a um horário antes do início do log de alteração atual, uma exceção SPException é lançada.
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
Microsoft.SharePoint.Administration namespace