Compartir a través de


de la propiedad SPChangeQuery.SystemUpdate

Obtiene o establece un valor de Boolean que especifica si las modificaciones del sistema a los objetos se incluyen en la consulta.

Espacio de nombres:  Microsoft.SharePoint
Ensamblado:  Microsoft.SharePoint (en Microsoft.SharePoint.dll)

Sintaxis

'Declaración
Public Property SystemUpdate As Boolean
    Get
    Set
'Uso
Dim instance As SPChangeQuery
Dim value As Boolean

value = instance.SystemUpdate

instance.SystemUpdate = value
public bool SystemUpdate { get; set; }

Valor de propiedad

Tipo: System.Boolean
true para incluir las actualizaciones del sistema; en caso contrario, false. El valor predeterminado es false.

Comentarios

Este tipo de cambio se registra cuando se modifica un objeto sin cambiar su propiedad Modified o Modified By . Puede obtener la hora de la modificación de la propiedad SPChange.Time .

Ejemplos

En el siguiente ejemplo es una aplicación de consola que consulta el registro de cambios de los cambios de actualización del sistema para los elementos de lista de información de usuario de un sitio Web.

Imports System
Imports Microsoft.SharePoint

Module ConsoleApp
   Sub Main()
      Using siteCollection As SPSite = New SPSite("https://localhost")
         Using webSite As SPWeb = siteCollection.RootWeb

            ' Construct a query.
            Dim query As New SPChangeQuery(False, False)

            ' Set a limit on the number of changes returned on a single trip.
            query.FetchLimit = 500

            ' object type 
            query.Item = True

            ' change type.
            query.SystemUpdate = True

            ' list to query
            Dim list As SPList = webSite.Lists("User Information List")

            ' Convert to local time.
            Dim timeZone As SPTimeZone = webSite.RegionalSettings.TimeZone

            Dim total As Integer = 0

            ' Loop until we reach the end of the log.
            While True

               Dim changes As SPChangeCollection = list.GetChanges(query)
               total += changes.Count

               For Each change As SPChangeItem In changes
                  ' Get the item title.
                  Dim itemName As String = String.Empty
                  Try
                     Dim item As SPListItem = list.GetItemByUniqueId(change.UniqueId)
                     itemName = item.Name
                  Catch ex As ArgumentException
                     itemName = "Item not found"
                  End Try

                  ' Write to the console.
                  Console.WriteLine(vbCrLf + "Date: {0}", _
                                    timeZone.UTCToLocalTime(change.Time).ToString())
                  Console.WriteLine("Change: {0}", change.ChangeType)
                  Console.WriteLine("Item: {0}", itemName)
               Next change

               ' Break out of loop if we have the last batch.
               If changes.Count < query.FetchLimit Then
                  Exit While
               End If

               ' Otherwise, go get another batch.
               query.ChangeTokenStart = changes.LastChangeToken

            End While

            Console.WriteLine(vbCrLf + "Total of {0} changes", total)

         End Using
      End Using

      Console.Write(vbCrLf + "Press ENTER to continue...")
      Console.ReadLine()

   End Sub
End Module
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.RootWeb)
            {

               // Construct a query.
               SPChangeQuery query = new SPChangeQuery(false, false); 

               // Set a limit on the number of changes returned on a single trip.
               query.FetchLimit = 500;

               // object type 
               query.Item = true;

               // change type
               query.SystemUpdate = true;

               // list to query
               SPList list = webSite.Lists["User Information List"];

               // Convert to local time.
               SPTimeZone timeZone = webSite.RegionalSettings.TimeZone;

               int total = 0;

               // Loop until we reach the end of the log.
               while (true)
               {

                  SPChangeCollection changes = list.GetChanges(query);
                  total += changes.Count;

                  foreach (SPChangeItem change in changes)
                  {
                     // Get the item title.
                     string itemName = String.Empty;
                        try
                        {
                           SPListItem item = list.GetItemByUniqueId(change.UniqueId);
                           itemName = item.Name;
                        }
                        catch (ArgumentException)
                        {
                           itemName = "Item not found";
                        }

                     // Write to the console.
                     Console.WriteLine("\nDate: {0}", 
                                       timeZone.UTCToLocalTime(change.Time).ToString());
                     Console.WriteLine("Change: {0}", change.ChangeType);
                     Console.WriteLine("Item: {0}", itemName);
                  }

                  // Break out of loop if we have the last batch.
                  if (changes.Count < query.FetchLimit)
                     break;

                  // Otherwise, go get another batch.
                  query.ChangeTokenStart = changes.LastChangeToken;
               }

               Console.WriteLine("\nTotal changes = {0:#,#}", total);
            }
         }
         Console.Write("\nPress ENTER to continue...");
         Console.ReadLine();
      }
   }
}

Vea también

Referencia

clase SPChangeQuery

Miembros SPChangeQuery

Espacio de nombres Microsoft.SharePoint

SystemUpdate()