IBackupRestore.AddBackupObjects - Méthode
Ajoute l'objet de IBackupRestore et de ses objets de IBackupRestore des enfants à l'objet de sauvegarde spécifié.
Espace de noms : Microsoft.SharePoint.Administration.Backup
Assembly : Microsoft.SharePoint (dans Microsoft.SharePoint.dll)
Syntaxe
'Déclaration
Sub AddBackupObjects ( _
parent As SPBackupRestoreObject _
)
'Utilisation
Dim instance As IBackupRestore
Dim parent As SPBackupRestoreObject
instance.AddBackupObjects(parent)
void AddBackupObjects(
SPBackupRestoreObject parent
)
Paramètres
parent
Type : Microsoft.SharePoint.Administration.Backup.SPBackupRestoreObjectL'objet de sauvegarde auquel sont ajoutés les objets IBackupRestore .
Remarques
Une implémentation de AddBackupObjects doit effectuer les opérations suivantes :
Assurez-vous qu'un objet SPBackupRestoreObject qui représente votre composant contenu personnalisé est créé et ajouté à l'arborescence d'objets SPBackupRestoreObject qui vont être traitées par la sauvegarde ou une restauration.
Assurez-vous qu'un objet SPBackupRestoreObject pour chaque enfant contenu composant qui implémente IBackupRestore est ajouté à l'arborescence.
Spécifiez un nom de type et une description pour le composant qui peut être utilisé par l'interface utilisateur de l'application d'Administration centrale , ou stsadm.exe, ou de l'interface utilisateur d'une applet de commande SharePoint Management Shell , ou d'autres applications de sauvegarde/restauration.
L'exemple ci-dessous illustre une implémentation simple de la méthode AddBackupObjects() . Autres choses que vous devez ou à ajouter à votre mise en œuvre sont les suivantes :
Pour le deuxième paramètre des appels à la méthode SetParameter() , envisagez d'appeler une méthode qui utilise des informations de culture actuelles pour retourner une chaîne localisée.
Si votre enfant objets doivent parfois être sélectionnables pour la sauvegarde, de restauration ou restauration-à-un-nouveau-nom, mais parfois ne pas ; envisagez d'utiliser l'itération sur les objets enfants pour définir les propriétés CanSelectForBackup, CanSelectForRestoreou CanRenameOnRestore pour chaque enfant. Dans l'exemple suivant, childIBR est un objet d'une classe enfant et SupportedWebApp est une propriété qui retourne une référence à la SPWebApplication qui est pris en charge par l'objet. Dans la mesure où l'Application Web d'Administration ne peuvent pas être sélectionnée pour la sauvegarde ou la restauration séparément de son parent, ni doit l'objet de contenu pris en charge.
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
Si un objet de votre classe de contenu peut parfois être le composant de niveau supérieur (autres que la batterie de serveurs) dans l'arborescence de composants qui procède au traitement de l'opération de sauvegarde ou de restauration ; mais d'autres fois l'enfant d'un composant personnalisé (non agricoles) plus élevée, puis la méthode AddBackupObjects doit vérifier si l'objet a déjà été ajouté à l'arborescence par un appel à la AddBackupObjects de l'objet parent. Pour ce faire, encapsuler l'ensemble de votre logique de mise en œuvre (après vérification si le parent est une référence Null (Rien dans Visual Basic)) dans une structure conditionnelle, comme illustrée dans l'exemple suivant.
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
Exemples
Voici un exemple d'implémentation de la méthode AddBackupObjects() . Cet exemple suppose que votre classe de contenu a un ChildContentCollection des objets de IBackupRestore enfants. Si votre classe possède plus d'un type de composant enfant, vous pouvez avoir des collections distinctes pour chaque type et itérer dans chaque collection.
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