Compartilhar via


Escopos do log de alteração

O log de alteração podem ser consultado para alterações em quatro escopos diferentes: de conteúdo banco de dados, coleção site, site ou escopo lista. Dependendo do aplicativo e o escopo com o qual o cliente está preocupado, uma possível determinar qual escopo precisa ser usado. De exemplo, se um cliente só está preocupado com as alterações para uma lista específica de um site, ele poderá consulta para que as alterações no escopo de lista. No entanto, se as alterações entre a banco de dados inteiro precisar ser monitorado, o log de alteração podem ser consultado no de conteúdo banco de dados escopo.

Em geral, se os clientes precisam monitor muda para um objeto específico, eles podem consulta para que as alterações no escopo do objeto pai. De exemplo, como Microsoft Office Outlook 2007 diz respeito com alterações aos itens em listas SharePoint, ele consultará alterações no escopo de lista para múltiplo listas. Além disso, SharePoint pesquisa consultará as alterações na de conteúdo banco de dados escopo porque ele precisa aspecto para todas as alterações no banco de dados. Você pode usar o método GetChanges Overload:Microsoft.SharePoint.Administration.SPContentDatabase.GetChanges a consulta para que as alterações.

Exemplo

O seguinte exemplo percorre vários maneiras de usar o GetChanges SPSite.GetChanges para retornar as alterações de uma coleção site.

                    Dim mySite As New SPSite("http://siteUrl")

' Initial snapshot of the Change Log at site collection scope.
Dim initToken As SPChangeToken = mySite.CurrentChangeToken

' After a certain time, once the site collection has changed, the 
' client can query for changes that occurred since the initial snapshot ' (in other words, since initToken). 

' Return all changes to the site collection.
Dim changes As SPChangeCollection = mySite.GetChanges()

' Return all changes since initToken.
Dim changes1 As SPChangeCollection = mySite.GetChanges(initToken)

' Final snapshot of the change log at the site collection scope.
Dim finalToken As SPChangeToken = mySite.CurrentChangeToken

' Return all changes from initToken to finalToken.
Dim changes2 As SPChangeCollection = mySite.GetChanges(initToken, finalToken)

' Query for specific types of changes.
Dim query As New SPChangeQuery(True, True)
Dim changes3 As SPChangeCollection = mySite.GetChanges(query)
                    SPSite mySite = new SPSite("http://siteUrl");
/* Initial snapshot of the Change Log at the site collection scope.*/
SPChangeToken initToken = mySite.CurrentChangeToken; 

/* After a certain time, once the site collection has changed, the client can query for changes that occurred since the initial snapshot (in other words, since initToken). */

/* Return all changes to the site collection.*/
SPChangeCollection changes = mySite.GetChanges();

/* Return all changes since initToken.*/
SPChangeCollection changes1 = mySite.GetChanges(initToken); 

/* Final snapshot of the change log at the site collection scope.*/
SPChangeToken finalToken = mySite.CurrentChangeToken; 

/* Return all changes from initToken to finalToken.*/
SPChangeCollection changes2 = mySite.GetChanges(initToken,finalToken); 

/* Query for specific types of changes.*/
SPChangeQuery query = new SPChangeQuery(true, true);
SPChangeCollection changes3 = mySite.GetChanges(query);