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


Метод IBackupRestore.OnBackup

Создает и сохраняет в резервной копии компонента содержимого.

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

Синтаксис

'Декларация
Function OnBackup ( _
    sender As Object, _
    args As SPBackupInformation _
) As Boolean
'Применение
Dim instance As IBackupRestore
Dim sender As Object
Dim args As SPBackupInformation
Dim returnValue As Boolean

returnValue = instance.OnBackup(sender, _
    args)
bool OnBackup(
    Object sender,
    SPBackupInformation args
)

Параметры

  • sender
    Тип: System.Object

    Объект, который инициировал операции резервного копирования.

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

Тип: System.Boolean
true в случае успешного выполнения; в противном случае — false.

Замечания

Если класс содержимого не имеет содержимого не из любого IBackupRestore дочерние объекты, которые он может иметь, внедрения следует просто задайте CurrentProgess() по крайней мере 50 процентов и возврата true , как показано в следующем примере. Выполните вызов метода OnBackup все дочерние объекты IBackupRestore .

public Boolean OnBackup(Object sender, SPBackupInformation args)
{
    if (args == null)
    {
        throw new ArgumentNullException("args");
    }
    args.CurrentProgress = 50;
    return true;
}
Public Function OnBackup(ByVal sender As Object, ByVal args As SPBackupInformation) As Boolean
    If args Is Nothing Then
        Throw New ArgumentNullException("args")
    End If
    args.CurrentProgress = 50
    Return True
End Function

Если класс does содержимого не из любого IBackupRestore дочерние объекты, которые он может иметь, внедрения необходимо скопировать этот контент args.Location. Возвращает false, если по какой-либо причине происходит сбой копии контента.

Общая структура самостоятельной реализации **OnBackup()**в следующем примере:

public Boolean OnBackup(Object sender, SPBackupInformation args)
{
    if (args == null)
    {
        throw new ArgumentNullException("args");
    }
    args.CurrentProgress = 50;
    Boolean successSignal = true;

    // TODO: Implement copying your content to args.Location
    //       If the copy fails, set successSignal to false.

    return successSignal;
}
Public Function OnBackup(ByVal sender As Object, ByVal args As SPBackupInformation) As Boolean
    If args Is Nothing Then
        Throw New ArgumentNullException("args")
    End If
    args.CurrentProgress = 50
    Dim successSignal As Boolean = True

    ' TODO: Implement copying your content to args.Location
    '       If the copy fails, set successSignal to false.

    Return successSignal
End Function

Если службы Windows или некоторые приложения должен быть остановлена или приостановлена во время резервного копирования, это можно сделать в начале OnBackup(Object, SPBackupInformation). (Перезапустить службу или приложение в OnBackupComplete.) Выполните этот рабочий OnPrepareBackup вызван последний метод для каждого компонента, даже в том случае, если он не архивируется; но OnBackupComplete вызывается только для компонентов, которые включаются в резервную копию, поэтому нет гарантии, остановки службы или приложения в резервной копии стадии подготовки будет получить перезапустить.

Метод OnBackup не будет работать, если OnPrepareBackup возвращает значение false. Если OnBackup возвращает значение false, метод OnBackupComplete не будут запускаться.

Примеры

Следующий пример показывает реализацию OnBackup , которая копирует файлы в папку резервного копирования. FrontEndFilePaths — это закрытое поле. Это коллекция строк, удерживая путей файлов, для которого выполняется резервное.

public Boolean OnBackup(Object sender, SPBackupInformation args)
{
    if (args == null)
    {
        throw new ArgumentNullException("args");
    }
    
    Boolean successSignal = true;

    foreach (String path in FrontEndFilePaths)
    {
        FileInfo file = new FileInfo(path);
        try
        {
            file.CopyTo(args.Location + @"\" + file.Name, true);
            args.Log(SPBackupRestoreLogSeverity.Verbose, "Backed up " + file.Name);
        }
        catch (Exception e)
        {
            args.Log(SPBackupRestoreLogSeverity.Verbose, file.Name + " not backed up: " + e.Message);
            successSignal = false;
        }
    }

    args.CurrentProgress = 50;
    return successSignal;
}
Public Function OnBackup(ByVal sender As Object, ByVal args As SPBackupInformation) As Boolean
    If args Is Nothing Then
        Throw New ArgumentNullException("args")
    End If

    Dim successSignal As Boolean = True

    For Each path As String In FrontEndFilePaths
        Dim file As New FileInfo(path)
        Try
            file.CopyTo(args.Location & "\" & file.Name, True)
            args.Log(SPBackupRestoreLogSeverity.Verbose, "Backed up " & file.Name)
        Catch e As Exception
            args.Log(SPBackupRestoreLogSeverity.Verbose, file.Name & " not backed up: " & e.Message)
            successSignal = False
        End Try
    Next path

    args.CurrentProgress = 50
    Return successSignal
End Function

См. также

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

IBackupRestore интерфейс

Элементы IBackupRestore

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