IBackupRestore.OnBackup - Méthode

Crée et stocke la copie de sauvegarde du composant contenu.

Espace de noms :  Microsoft.SharePoint.Administration.Backup
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
Function OnBackup ( _
    sender As Object, _
    args As SPBackupInformation _
) As Boolean
'Utilisation
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
)

Paramètres

  • sender
    Type : System.Object

    L'objet ayant initialisé l'opération de sauvegarde.

Valeur renvoyée

Type : System.Boolean
true en cas de réussite ; dans le cas contraire, false.

Remarques

Si votre classe de contenu n'a aucun contenu à l'extérieur de tous les objets enfants IBackupRestore que peut-être, votre implémentation doit simplement définissez la CurrentProgess() au moins 50 pour cent et true comme dans l'exemple suivant. Faire ne pas appeler la méthode OnBackup de tous les objets enfant 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 votre classe est d'avoir le contenu à l'extérieur de tous les objets enfants IBackupRestore que peut-être, votre implémentation doit copier ce contenu dans args.Location. Retourner false, si pour une raison quelconque, la copie de contenu échoue.

L'exemple suivant montre la structure globale d'une implémentation de fond 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 service Windows ou une application, doit être suspendu ou arrêté lors de la sauvegarde, vous pouvez le faire au début de OnBackup(Object, SPBackupInformation). (Redémarrez le service ou l'application dans OnBackupComplete). Ne le faites pas ce travail en OnPrepareBackup cette dernière méthode est appelée pour chaque composant, même si elle est non sauvegardé ; mais OnBackupComplete est appelée uniquement pour les composants qui sont sauvegardés, afin qu'il n'y a aucune garantie qu'une application ou un service arrêtée dans la phase de sauvegarde préparer devrait obtenir redémarrée.

La méthode OnBackup ne s'exécutera pas si OnPrepareBackup renvoie la valeur false. Si OnBackup retourne la valeur false, la méthode OnBackupComplete ne fonctionnera pas.

Exemples

L'exemple suivant montre une implémentation de OnBackup qui copie les fichiers vers l'emplacement de sauvegarde. FrontEndFilePaths est un champ privé. Il s'agit d'une collection de chaînes contenant les chemins d'accès des fichiers qui doivent être sauvegardées.

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

Voir aussi

Référence

IBackupRestore interface

IBackupRestore - Membres

Microsoft.SharePoint.Administration.Backup - Espace de noms