Compartilhar via


IBackupRestore.AddBackupObjects method

Adiciona o objeto IBackupRestore e seus objetos de IBackupRestore filho para o objeto de backup especificado.

Namespace:  Microsoft.SharePoint.Administration.Backup
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaração
Sub AddBackupObjects ( _
    parent As SPBackupRestoreObject _
)
'Uso
Dim instance As IBackupRestore
Dim parent As SPBackupRestoreObject

instance.AddBackupObjects(parent)
void AddBackupObjects(
    SPBackupRestoreObject parent
)

Parâmetros

Comentários

Uma implementação de AddBackupObjects precisa realizar as seguintes ações:

  • Certifique-se de que um objeto SPBackupRestoreObject que representa o componente de conteúdo personalizado é criado e adicionado à árvore de objetos SPBackupRestoreObject que serão processados pelo backup ou restaurar a operação.

  • Certifique-se de que um objeto de SPBackupRestoreObject para cada componente que implementa IBackupRestore é adicionada à árvore de conteúdo filho.

  • Especifique um nome de tipo e uma descrição para o componente que pode ser usado com a interface do usuário do aplicativo Administração Central ou stsadm.exe ou a interface do usuário de um cmdlet SharePoint Management Shell ou algum outro aplicativo de backup e restauração.

O exemplo a seguir mostra uma implementação simples do método AddBackupObjects() . Outras coisas que você possa precisar ou queira adicionar à sua implementação incluem o seguinte:

  • O segundo parâmetro de chamadas para o método SetParameter() , considere a possibilidade de chamar um método que usa informações da cultura atual para retornar uma cadeia de caracteres localizada.

  • Se os objetos filho, às vezes, devem ser selecionáveis de backup, restauração ou restauração-com-um-novo-name, mas outras vezes não ser; Considere o uso de iteração sobre os objetos filho para definir as propriedades CanSelectForBackup, CanSelectForRestoreou CanRenameOnRestore para cada filho. No exemplo a seguir, childIBR é um objeto de uma classe filha e SupportedWebApp é uma propriedade que retorna uma referência a SPWebApplication que é suportado pelo objeto. Uma vez que o aplicativo Web da administração não podem ser selecionado para backup ou restauração separadamente de seu pai, nem deve o objeto de conteúdo de suporte.

    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
    
  • Se um objeto de classe de conteúdo, às vezes, pode ser o componente superior (diferente do farm) na árvore de componentes que processará a operação de backup ou restauração; mas é em outros horários filho de algum componente personalizado (não farm) mais alta, e em seguida, o método AddBackupObjects deve verificar se o objeto já foi adicionado à árvore por uma chamada a AddBackupObjects do objeto pai. Para fazer isso, encapsula toda a lógica de implementação (depois de verificar se o pai for a null reference (Nothing in Visual Basic)) em uma estrutura condicional como mostrada no exemplo a seguir.

    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
    

Examples

A seguir está um exemplo de uma implementação do método AddBackupObjects() . Este exemplo assume que a classe de conteúdo tem uma ChildContentCollection de objetos de IBackupRestore filho. Se sua classe tem mais de um tipo de componente filho, você pode ter coleções separadas para cada tipo e iterar em cada coleção.

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

Ver também

Referência

IBackupRestore interface

IBackupRestore members

Microsoft.SharePoint.Administration.Backup namespace