Share via


del método IBackupRestore.OnBackup

Crea y almacena la copia de seguridad del componente de contenido.

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

Sintaxis

'Declaración
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
    Tipo: System.Object

    El objeto que inició la operación de copia de seguridad.

Valor devuelto

Tipo: System.Boolean
true si es correcto; en caso contrario, false.

Comentarios

Si la clase de contenido no tiene contenido fuera de los objetos secundarios de IBackupRestore puede tener, su implementación simplemente debe establecer el CurrentProgess() en al menos un 50 por ciento y devolver true tal como se muestra en el ejemplo siguiente. Hacer no la llamada al método OnBackup de cualquier objeto secundario de 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

Si su clase does tiene contenido fuera de los objetos secundarios de IBackupRestore puede tener, su implementación debe copiar este contenido en args.Location. Devolver false, si por cualquier motivo falla la copia del contenido.

En el siguiente ejemplo se muestra la estructura general de una implementación sustancial de 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

Si un servicio de Windows, o alguna aplicación, necesita ser o detenido durante la copia de seguridad, puede hacerlo al principio de OnBackup(Object, SPBackupInformation). (Reiniciar el servicio o aplicación en OnBackupComplete). No haga este trabajo en OnPrepareBackup que el último método se llama para cada componente, incluso si no se va a copia de seguridad; pero se llama a OnBackupComplete sólo para los componentes que se hace una copia, por lo que no hay ninguna garantía de que un servicio o aplicación detenido en la fase de copia de seguridad de prepare sería obtener reiniciar.

El método OnBackup no se ejecutará si OnPrepareBackup devuelve false. Si OnBackup devuelve false, no se ejecutará el método OnBackupComplete .

Ejemplos

El ejemplo siguiente muestra una implementación de OnBackup que copia los archivos en la ubicación de copia de seguridad. FrontEndFilePaths es un campo privado. Es una colección de cadenas que contiene las rutas de acceso de los archivos que se van a realizar copias de seguridad.

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

Vea también

Referencia

interfaz IBackupRestore

Miembros IBackupRestore

Espacio de nombres Microsoft.SharePoint.Administration.Backup