Compartilhar via


IBackupRestore.OnBackup method

Cria e armazena a cópia de backup do componente conteúdo.

Namespace:  Microsoft.SharePoint.Administration.Backup
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaração
Function OnBackup ( _
    sender As Object, _
    args As SPBackupInformation _
) As Boolean
'Uso
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
)

Parâmetros

  • sender
    Type: System.Object

    O objeto que iniciou a operação de backup.

Valor retornado

Type: System.Boolean
true se for bem-sucedida; Caso contrário, false.

Comentários

Se sua classe de conteúdo não possui nenhum conteúdo fora de todos os objetos filho IBackupRestore pode ter, sua implementação deve simplesmente definir o CurrentProgess() pelo menos 50 por cento e retornar true , como mostrado no exemplo a seguir. Fazer chamada o método OnBackup de todos os objetos filho 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

Se sua classe does ter conteúdo fora todos os objetos filho IBackupRestore pode ter, sua implementação deve copiar o conteúdo em args.Location. Retorne false, se por algum motivo a cópia de conteúdo falhar.

O exemplo a seguir mostra a estrutura geral de uma implementação sólida do 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

Se um serviço do Windows ou um aplicativo, precisa ser interrompido ou pausado durante o backup, você pode fazer isso no início do OnBackup(Object, SPBackupInformation). (Reiniciar o serviço ou aplicativo em OnBackupComplete). Fazer esse trabalho em OnPrepareBackup que o último método é chamado para cada componente, mesmo que ele não está sendo feito backup; mas OnBackupComplete é chamado somente para componentes de backup, portanto não há nenhuma garantia de que um serviço ou aplicativo parado no Palco preparar backup seria obter reiniciado.

O método OnBackup não será executado se OnPrepareBackup retornar false. Se OnBackup retornar false, o método OnBackupComplete não será executado.

Examples

O exemplo a seguir mostra uma implementação de OnBackup que copia arquivos para o local de backup. FrontEndFilePaths é um campo particular. É uma coleção de seqüências de caracteres que contém os caminhos dos arquivos devem ser feito.

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

Ver também

Referência

IBackupRestore interface

IBackupRestore members

Microsoft.SharePoint.Administration.Backup namespace