SPList.GetChanges method (SPChangeToken)
Retorna uma coleção das alterações começando em um determinado ponto 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 SPList
Dim changeToken As SPChangeToken
Dim returnValue As SPChangeCollection
returnValue = instance.GetChanges(changeToken)
public SPChangeCollection GetChanges(
SPChangeToken changeToken
)
Parâmetros
changeToken
Type: Microsoft.SharePoint.SPChangeTokenA data e hora de início. Para iniciar no início do log de alterações, defina esse valor como a null reference (Nothing in Visual Basic).
Valor retornado
Type: Microsoft.SharePoint.SPChangeCollection
As alterações que ocorreram na lista desde a data e hora especificado por changeToken.
Exceptions
Exception | Condition |
---|---|
SPException | changeToken refere-se a um horário antes que o log de alteração do início do atual. |
Comentários
Você pode obter um objeto SPChangeToken a serem passados como um argumento para esse método extraindo um da propriedade ChangeToken da última alteração retornada por uma chamada anterior para o método GetChanges . Ou então, 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 log. O programa faz um loop ao obter alterações em lotes e liberta o loop quando ele recupera uma coleção com zero membros, significando que ele atingiu o final da lista.
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.OpenWeb())
{
// Get a list.
SPList list = webSite.Lists[0];
int total = 0;
SPChangeToken token = null;
// Get the first batch of changes.
SPChangeCollection changes = list.GetChanges(token);
// Loop until we reach the end of the log.
while (changes.Count > 0)
{
total += changes.Count;
// Go get another batch.
token = changes.LastChangeToken;
changes = list.GetChanges(token);
}
Console.WriteLine("Total of {0:#,#} changes to {1} list", total, list.Title);
}
}
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.OpenWeb()
' Get a list.
Dim list As SPList = webSite.Lists(0)
Dim total As Integer = 0
Dim token As SPChangeToken = Nothing
' Get the first batch of changes.
Dim changes As SPChangeCollection = list.GetChanges(token)
' Loop until we reach the end of the log.
While changes.Count > 0
total += changes.Count
' Go get another batch of changes starting where we left off.
token = changes.LastChangeToken
changes = list.GetChanges(token)
End While
Console.WriteLine("Total of {0:#,#} changes to {1} list", total, List.Title)
End Using
End Using
Console.Write(vbCrLf + "Press ENTER to continue...")
Console.ReadLine()
End Sub
End Module
Ver também
Referência
Microsoft.SharePoint namespace