IBackupRestore interface
Permite que o conteúdo que uma classe representa para backup e restauração.
Namespace: Microsoft.SharePoint.Administration.Backup
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaração
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public Interface IBackupRestore
'Uso
Dim instance As IBackupRestore
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public interface IBackupRestore
Comentários
Implementando essa interface de um objeto que representa uma parte do conteúdo em uma implantação de SharePoint Foundation se torna algo que podem ser restaurados e sofrer.
O código não chama os membros do IBackupRestore diretamente. Depois que tiver implementado, seu código construir objetos de suas classes personalizadas IBackupRestore e adicioná-los ao banco de dados de configuração com o método Update() . Backup e restauração aplicativos, como o aplicativo de Administração Central de SharePoint Foundation , o aplicativo de console de stsadm.exe e um cmdlet SharePoint Management Shell fará chamadas internas para os membros dos objetos IBackupRestore quando são restaurados e sofrer backup. Para obter mais informações sobre como os objetos IBackupRestore são usados, consulte How to: Create a Content Class That Can be Backed Up and Restored.
Você pode criar quantos tipos de classes de IBackupRestore que você deseja e, se desejar, eles podem ser aninhados como uma árvore de classes de componente. Mas a classe mais alta em qualquer tal árvore deve derivar (direta ou indiretamente) da classe SPPersistedObject e deve ser um filho de SPFarm. Se sua classe de conteúdo não é um filho de qualquer outro conteúdo classe personalizada, ele deve derivar (direta ou indiretamente) do objeto SPPersistedObject e deve ser um filho de SPFarm.
Se sua classe derivada de uma classe que já implementa a interface IBackupRestore e você deseja substituir uma implementação herdada de um membro IBackupRestore , sua declaração de classe deve referenciar explicitamente IBackupRestore como este:
public class MyClass : SPPersistedObject, IBackupRestore
Public Class [MyClass]
Inherits SPPersistedObject
Implements IBackupRestore
End Class
A substituição de qualquer membro de IBackupRestore deve incluir explicitamente "IBackupRestore" no nome do membro e não deve incluir a palavra-chave public . Este é um exemplo:
String IBackupRestore.Name { ... }
Private Property Name() As String Implements IBackupRestore.Name
...
End Property
Como alternativa, se a implementação do membro na classe pai usado as palavras-chave virtual ou override , você pode usar a palavra-chave override na sua implementação, assim:
public override String Name { ... }
Public Overrides Property Name() As String
...
End Property
Fazer ocultar a implementação de membro herdado por declarar novamente o membro com ou sem a palavra-chave new ([new] public String Name { ... }) .
Se sua classe derivada de SPPersistedObject, a declaração dos campos que você deseja persistir no banco de dados de configuração deve ser precedida com o atributo [Persisted] . No entanto, você só pode marcar os seguintes tipos de campos dessa forma: tipos primitivos como seqüências de caracteres, inteiros e GUIDs; outros objetos de SPPersistedObject ou SPAutoserializingObject ; ou conjuntos de qualquer dos itens acima. Por exemplo, a classe não pode ter um campo FileInfo marcado com o atributo [Persisted] . Se os dados que deseja persistir não forem de uma classe persistente, use um substituto persistente. A implementação de exemplo no tópico de referência para a propriedade DiskSizeRequired prevê uma classe que persiste uma coleção de nomes de arquivo e usa-las para criar uma coleção de objetos FileInfo temporária em tempo de execução.
Se a sua classe pode ter vários filhos do mesmo tipo, crie uma propriedade ou campo de um tipo de coleção ou outro tipo enumerável para armazenar uma coleção de todos os filhos de um determinado tipo. Isso é particularmente importante se o próprio tipo de filho implementa IBackupRestore, pois a implementação do método AddBackupObjects() deve percorrer esses filhos e chamar o método AddBackupObjects() de cada filho.
Basicamente, há um mapeamento entre objetos do tipo SPBackupRestoreInformation e objetos do tipo IBackupRestore. Cada um deles fornece uma parte das informações necessárias para processar um backup ou restauração de um tipo específico de componente do conteúdo. Esses dois tipos de objetos são referenciados, respectivamente, das propriedades Information e IBackupRestore de um objeto SPBackupRestoreObject . A classe último, além de atuar como um recipiente para os objetos de IBackupRestore e correlacionados SPBackupRestoreInformation fornece funções auxiliares para objetos SPBackupRestoreConsoleObject .
Dica
Se a classe de componente representa configurações de escopo de toda a farm ou serviço da Web de publicação de conteúdo, diferentes de conteúdo, ele também deve implementar IBackupRestoreConfiguration , que inclui IBackupRestore.