Поделиться через


Метод SPWeb.GetChanges

Получает все изменения, приведенные в журнале изменений текущего веб-сайта.

Пространство имен:  Microsoft.SharePoint
Сборка:  Microsoft.SharePoint (в Microsoft.SharePoint.dll)

Синтаксис

'Декларация
Public Function GetChanges As SPChangeCollection
'Применение
Dim instance As SPWeb
Dim returnValue As SPChangeCollection

returnValue = instance.GetChanges()
public SPChangeCollection GetChanges()

Возвращаемое значение

Тип: Microsoft.SharePoint.SPChangeCollection
Изменения.

Замечания

Общее число изменений, возвращаемых запросом от журнала изменений может быть очень большим. Для повышения производительности изменения возвращаются в пакетах до 2000. Эта перегрузка метода возвращает только первый пакет изменений записываются в журнал.

Чтобы получить все изменения, а не только первого пакета, вызовите этот метод в цикле, пока он возвращает коллекцию изменений 0, указывающий на то, что он достигнут конец журнала. Используйте свойство ChangeToken из последнего изменения первого пакета для получения второй партии и так далее, пока не будет получен пустой коллекции. Например GetChanges(SPChangeToken) см.

Примечание

По умолчанию журнал изменений ведется в течение 60 дней. Срок хранения можно настроить с помощью свойства ChangeLogRetentionPeriod .

Примеры

Пример является консольным приложением, которое использует метод GetChanges для создания файла журнала, содержащего сведения о первый пакет изменений из журнала изменений.

using System;
using System.IO;
using Microsoft.SharePoint;

namespace Test
{
   class ConsoleApp
   {
      static void Main(string[] args)
      {
         using (SPSite siteCollection = new SPSite("https://localhost"))
         {
            using (SPWeb webSite = siteCollection.RootWeb)
            {
               SPTimeZone timeZone = webSite.RegionalSettings.TimeZone;
               string fileName = "ChangeLog.txt";
               StreamWriter writer = File.AppendText(fileName);

               SPChangeCollection changes = webSite.GetChanges();

               foreach (SPChange change in changes)
               {
                  writer.WriteLine( "\r\nDate: {0}", timeZone.UTCToLocalTime(change.Time).ToString());
                  writer.WriteLine("Object type: {0}", change.GetType().ToString());
                  writer.WriteLine("Change type: {0}", change.ChangeType);
               }

               writer.WriteLine("\r\nTotal changes = {0:#,#}", changes.Count);
               writer.Flush();
               writer.Close();

               Console.WriteLine("{0} changes written to {1}", changes.Count, fileName);
            }
         }
         Console.Write("\nPress ENTER to continue...");
         Console.ReadLine();
      }
   }
}
Imports System
Imports System.IO
Imports Microsoft.SharePoint

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

            Dim timeZone As SPTimeZone = webSite.RegionalSettings.TimeZone
            Dim fileName As String = "ChangeLog.txt"
            Dim writer As StreamWriter = File.AppendText(fileName)

            Dim changes As SPChangeCollection = webSite.GetChanges()

            For Each change As SPChange In changes
               writer.WriteLine(vbCrLf + "Date: {0}", timeZone.UTCToLocalTime(change.Time).ToString())
               writer.WriteLine("Object type: {0}", change.GetType().ToString())
               writer.WriteLine("Change type: {0}", change.ChangeType)
            Next change

            writer.WriteLine(vbCrLf + "Total changes = {0:#,#}", changes.Count)
            writer.Flush()
            writer.Close()

            Console.WriteLine("{0} changes written to {1}", changes.Count, fileName)
         End Using
      End Using
      Console.Write(vbCrLf + "Press ENTER to continue...")
      Console.ReadLine()
   End Sub
End Module

См. также

Справочные материалы

SPWeb класс

Элементы SPWeb

Перегрузка GetChanges

Пространство имен Microsoft.SharePoint

Другие ресурсы

Using the Change Log