IBackupRestore - Interface
Active le contenu une classe représente à être sauvegardés et restaurés.
Espace de noms : Microsoft.SharePoint.Administration.Backup
Assembly : Microsoft.SharePoint (dans Microsoft.SharePoint.dll)
Syntaxe
'Déclaration
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public Interface IBackupRestore
'Utilisation
Dim instance As IBackupRestore
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public interface IBackupRestore
Remarques
En implémentant cette interface, un objet représentant un contenu dans un déploiement SharePoint Foundation devient quelque chose qui peut être sauvegardé et restauré.
Votre code n'appelle pas directement les membres de IBackupRestore . Après avoir implémenté, votre code sera construire des objets de vos classes personnalisées IBackupRestore et les ajouter à la base de données de configuration avec la méthode Update() . Sauvegarde et restauration applications, telles que l'application Administration centrale de SharePoint Foundation , l'application de console stsadm.exe et une applet de commande SharePoint Management Shell va effectuer des appels internes aux membres de vos objets IBackupRestore lorsqu'elles sont sauvegardées et restaurées. Pour plus d'informations sur l'utilisation des objets IBackupRestore , consultez How to: Create a Content Class That Can be Backed Up and Restored.
Vous pouvez créer autant de types de classes de IBackupRestore vous souhaitez et, si vous le souhaitez, ils peuvent être imbriqués sous la forme d'une arborescence de classes de composant. Mais la classe la plus élevée d'une telle arborescence doit dériver (directement ou indirectement) de la classe SPPersistedObject et doit être un enfant de SPFarm. Si votre classe de contenu n'est pas un enfant d'une autre classe contenu personnalisé, il doit dériver (directement ou indirectement) à partir de l'objet SPPersistedObject et doit être un enfant de SPFarm.
Si votre classe dérive d'une classe qui implémente déjà l'interface IBackupRestore , et que vous souhaitez remplacer une implémentation héritée d'un membre de IBackupRestore , votre déclaration de classe doit référencer explicitement IBackupRestore comme suit :
public class MyClass : SPPersistedObject, IBackupRestore
Public Class [MyClass]
Inherits SPPersistedObject
Implements IBackupRestore
End Class
Votre « remplacement » de tout membre IBackupRestore doit inclure explicitement IBackupRestore dans le nom du membre et ne pas inclure le mot clé public. Voici un exemple :
String IBackupRestore.Name { ... }
Private Property Name() As String Implements IBackupRestore.Name
...
End Property
Ou bien, si l'implémentation du membre dans la classe parente utilise le mot clé virtual ou override, vous pouvez utiliser le mot clé override dans votre implémentation comme suit :
public override String Name { ... }
Public Overrides Property Name() As String
...
End Property
Effectuez pas masquer la mise en oeuvre de membre hérité en le redéclarant le membre avec ou sans le mot clé new ([new] public String Name { ... }).
Si votre classe dérive de SPPersistedObject, la déclaration de champs que vous souhaitez conserver dans la base de données de configuration doit être précédée avec l'attribut [Persisted] . Toutefois, vous pouvez uniquement marquer les types suivants de champs de cette manière : types primitifs tels que les chaînes, les entiers et les GUID ; autres objets SPPersistedObject ou SPAutoserializingObject ; collections ou d'un des éléments ci-dessus. Par exemple, la classe ne peut pas avoir un champ FileInfo marqué avec l'attribut [Persisted] . Si les données que vous souhaitez faire persister ne sont pas d'une classe qui peut être permanent, utilisez un substitut persistable. L'implémentation de l'exemple dans la rubrique de référence pour la propriété DiskSizeRequired envisions une classe qui persiste d'une collection de noms de fichiers et les utilise pour créer une collection d'objets FileInfo temporaire lors de l'exécution.
Si votre classe peut avoir plusieurs enfants du même type, créez une propriété ou un champ d'un type de collection ou d'autres types énumérables pour contenir une collection de tous les enfants d'un type donné. Ceci est particulièrement important si le type d'enfant implémente IBackupRestore, car votre implémentation de la méthode AddBackupObjects() doit itérer au sein des enfants, appelez la méthode AddBackupObjects() de chaque enfant.
Il est en fait un mappage un à un entre les objets de type SPBackupRestoreInformation et les objets de type IBackupRestore. Chacune fournit une partie des informations nécessaires pour traiter une sauvegarde ou une restauration d'un type particulier de composant contenu. Objets de ces deux types sont référencés, respectivement, dans les propriétés Information et IBackupRestore d'un objet SPBackupRestoreObject . La dernière classe, en plus des agissant en tant que conteneur pour les objets de IBackupRestore et de corrélation SPBackupRestoreInformation fournit des fonctions d'assistance pour les objets SPBackupRestoreConsoleObject .
Notes
Si votre classe de composant représente les paramètres de configuration de l'étendue de l'échelle de la batterie ou l'étendue de Service Web de publication du contenu, comme contenu, il doit également implémenter IBackupRestoreConfiguration qui inclut IBackupRestore.