Freigeben über


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.Object

    Das Objekt, das den Sicherungsvorgang initiiert hat.

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

Siehe auch

Referenz

IBackupRestore Schnittstelle

IBackupRestore-Member

Microsoft.SharePoint.Administration.Backup-Namespace