IBackupRestore.AddBackupObjects-Methode
Das IBackupRestore -Objekt und seine untergeordneten IBackupRestore -Objekte der angegebenen backup-Objekt hinzugefügt.
Namespace: Microsoft.SharePoint.Administration.Backup
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaration
Sub AddBackupObjects ( _
parent As SPBackupRestoreObject _
)
'Usage
Dim instance As IBackupRestore
Dim parent As SPBackupRestoreObject
instance.AddBackupObjects(parent)
void AddBackupObjects(
SPBackupRestoreObject parent
)
Parameter
parent
Typ: Microsoft.SharePoint.Administration.Backup.SPBackupRestoreObjectDas backup-Objekt, das die IBackupRestore Objekte hinzugefügt werden.
Hinweise
Eine Implementierung der AddBackupObjects muss, die Folgendes bezwecken:
Stellen Sie sicher, dass ein SPBackupRestoreObject -Objekt, das die benutzerdefinierte Inhaltskomponente stellt erstellt und die Struktur der SPBackupRestoreObject -Objekte, die verarbeitet werden durch die Sicherung oder Wiederherstellung hinzugefügt wird.
Stellen Sie sicher, die ein SPBackupRestoreObject -Objekt für jedes Kind Content-Komponente, die IBackupRestore implementiert die Struktur hinzugefügt wird.
Geben Sie einen Typnamen und eine Beschreibung für die Komponente, die von der Benutzeroberfläche der Anwendung der Zentraladministration oder stsadm.exe oder die Benutzeroberfläche der ein Cmdlet SharePoint-Verwaltungsshell oder einer anderen Anwendung der Sicherung wiederherstellen verwendet werden kann.
Im folgenden Beispiel wird eine einfache Implementierung der AddBackupObjects() -Methode. Die folgenden: anderem benötigten oder Ihrer Implementierung hinzufügen möchten
Erwägen Sie für den zweiten Parameter der Aufrufe an die SetParameter() -Methode die Informationen zur aktuellen Kultur Aufrufen einer Methode, die verwendet werden, um eine lokalisierte Zeichenfolge zurückzugeben.
Wenn Ihre untergeordneten Objekte sollten manchmal für Sicherung, Wiederherstellung oder Wiederherstellung-mit-a-neue-Name ausgewählt werden, aber nicht in anderen Fällen werden; sollten Sie die Iteration über die untergeordneten Objekte CanSelectForBackup, CanSelectForRestoreoder CanRenameOnRestore -Eigenschaften für jedes untergeordnete Element fest. Im folgenden Beispiel childIBR ist ein Objekt einer untergeordneten Klasse und SupportedWebApp ist eine Eigenschaft, die einen Verweis auf die SPWebApplication zurückgibt, das durch das Objekt unterstützt wird. Da die Webanwendung nicht ausgewählt werden kann für die Sicherung oder Wiederherstellung getrennt vom übergeordneten sollten Sie weder das unterstützende Content-Objekt.
if (childIBR.SupportedWebApp is SPAdministrationWebApplication) { childIBR.CanSelectForBackup == false; childIBR.CanSelectForRestore == false; }
If TypeOf childIBR.SupportedWebApp Is SPAdministrationWebApplication Then childIBR.CanSelectForBackup = False childIBR.CanSelectForRestore = False End If
Wenn ein Objekt der Inhaltsklasse manchmal die oberste Komponente (mit Ausnahme der Farm) in der Struktur der Komponenten werden kann, die der Sicherungs- oder Wiederherstellungsvorgang verarbeitet werden soll; jedoch ist auf anderen Zeiten das untergeordnete Element einer höheren (nicht-Farm) benutzerdefinierten Komponente, und klicken Sie dann die AddBackupObjects -Methode überprüfen muss, um festzustellen, ob das Objekt bereits der Struktur durch einen Aufruf der AddBackupObjects des übergeordneten Objekts hinzugefügt wurde. Zu diesem Zweck umschließen Sie aller Ihrer Implementierungslogik (nach der Überprüfung, ob das übergeordnete ein Nullverweis (Nothing in Visual Basic)ist) eine bedingte Struktur, wie im folgenden Beispiel dargestellt.
if (parent == null) { throw new ArgumentNullException("parent"); } if (parent.FindObject(this.Id) == null) { // TODO: Insert here all of your implementation logic // after the check of the parent's validity. }
If parent Is Nothing Then Throw New ArgumentNullException("parent") End If If parent.FindObject(Me.Id) Is Nothing Then ' TODO: Insert here all of your implementation logic ' after the check of the parent's validity. End If
Beispiele
Es folgt ein Beispiel für die Implementierung der AddBackupObjects() -Methode. In diesem Beispiel wird davon ausgegangen, dass Ihre Inhaltsklasse eine ChildContentCollection von untergeordneten Elementen IBackupRestore verfügt. Wenn Ihre Klasse mehr als einen Typ der untergeordneten Komponente verfügt, möglicherweise haben separate Websitesammlungen für jeden Typ und jede Auflistung durchlaufen.
public void AddBackupObjects(SPBackupRestoreObject parent)
{
if (parent == null)
{
throw new ArgumentNullException("parent");
}
SPBackupRestoreObject self = parent.AddChild(this);
self.Information.SetParameter(SPBackupRestoreObject.SPTypeName, this.GetType());
self.Information.SetParameter(SPBackupRestoreObject.SPDescription, "Description of custom content component");
....foreach (ChildContent child in ChildContentCollection)
{
IBackupRestore childIBR = child as IBackupRestore;
childIBR.AddBackupObjects(self);
}
}
Public Sub AddBackupObjects(ByVal parent As SPBackupRestoreObject)
If parent Is Nothing Then
Throw New ArgumentNullException("parent")
End If
Dim self As SPBackupRestoreObject = parent.AddChild(Me)
self.Information.SetParameter(SPBackupRestoreObject.SPTypeName, Me.GetType())
self.Information.SetParameter(SPBackupRestoreObject.SPDescription, "Description of custom content component")
For Each child As ChildContent In ChildContentCollection
Dim childIBR As IBackupRestore = TryCast(child, IBackupRestore)
childIBR.AddBackupObjects(self)
Next child
End Sub