IBackupRestore.OnBackup-Methode
Erstellt und speichert die Sicherungskopie der Inhaltskomponente.
Namespace: Microsoft.SharePoint.Administration.Backup
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
Function OnBackup ( _
sender As Object, _
args As SPBackupInformation _
) As Boolean
'Usage
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
)
Parameter
sender
Typ: System.ObjectDas Objekt, das den Sicherungsvorgang initiiert hat.
args
Typ: Microsoft.SharePoint.Administration.Backup.SPBackupInformationEin SPBackupInformation -Objekt, das Daten über den Vorgang enthält.
Rückgabewert
Typ: System.Boolean
true bei erfolgreicher; andernfalls false.
Hinweise
Wenn Ihre Inhaltsklasse keinen Inhalt außerhalb IBackupRestore untergeordnete Objekte, die sie möglicherweise enthält, sollte einfach die Implementierung der CurrentProgess() auf mindestens 50 Prozent festgelegt und true zurück, wie im folgenden Beispiel gezeigt. Führen Sie nicht Aufruf der OnBackup -Methode alle IBackupRestore untergeordneten Objekte.
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
Wenn Ihre Klasse wird Inhalt außerhalb IBackupRestore untergeordnete Objekte, die sie möglicherweise verfügen, muss die Implementierung dieser Inhalt argskopiert.Location. Geben Sie false, wenn die Kopie des Inhalts aus irgendeinem Grund nicht zurück.
Das folgende Beispiel zeigt die allgemeine Struktur einer eigenständigen Implementierung von 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
Wenn ein Windows-Dienst oder einer Anwendung beendet oder angehalten werden, während der Sicherung werden muss, können Sie dies am Anfang des OnBackup(Object, SPBackupInformation)tun. (Der Dienst oder die Anwendung starten im neu OnBackupComplete.) Führen Sie diese Aufgabe in OnPrepareBackup , die für jede Komponente, die zweite Methode aufgerufen wird, auch wenn es nicht gesichert wird; aber nur für Komponenten, die gesichert werden OnBackupComplete aufgerufen wird, damit nicht garantiert werden, die in einem Dienst oder einer Anwendung beendet die Sicherung vorbereiten Phase würde abrufen neu gestartet.
Die OnBackup -Methode wird nicht ausgeführt, wenn OnPrepareBackup "false" zurückgibt. Wenn OnBackup "false" zurückgibt, wird die OnBackupComplete -Methode nicht ausgeführt.
Beispiele
Das folgende Beispiel zeigt eine Implementierung von OnBackup , die Dateien auf dem Sicherungsspeicherort kopiert. FrontEndFilePaths ist ein privates Feld. Es ist eine Auflistung von Zeichenfolgen mit den Pfaden der Dateien, die gesichert werden sollen.
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