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.ObjectL'objet ayant initialisé l'opération de sauvegarde.
args
Type : Microsoft.SharePoint.Administration.Backup.SPBackupInformationObjet SPBackupInformation qui contient les données relatives à l'opération.
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