Compartir a través de


del método IBackupRestore.AddBackupObjects

Agrega el objeto de IBackupRestore y sus IBackupRestore los objetos secundarios en el objeto de copia de seguridad especificado.

Espacio de nombres:  Microsoft.SharePoint.Administration.Backup
Ensamblado:  Microsoft.SharePoint (en Microsoft.SharePoint.dll)

Sintaxis

'Declaración
Sub AddBackupObjects ( _
    parent As SPBackupRestoreObject _
)
'Uso
Dim instance As IBackupRestore
Dim parent As SPBackupRestoreObject

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

Parámetros

Comentarios

Una implementación de AddBackupObjects debe llevar a cabo las siguientes acciones:

  • Asegúrese de que un objeto SPBackupRestoreObject que representa el componente de contenido personalizado se crea y se agrega al árbol de objetos de SPBackupRestoreObject que se procesarán mediante la copia de seguridad o la operación de restauración.

  • Asegúrese de que un objeto SPBackupRestoreObject para cada componente que implementa IBackupRestore se agrega al árbol de contenido secundarios.

  • Especifique un nombre de tipo y una descripción para el componente que puede ser usado por la interfaz de usuario de la aplicación de Administración Central , o stsadm.exe o la interfaz de usuario de un cmdlet de Shell de administración de SharePoint o alguna otra aplicación de copia de seguridad de restauración.

En el ejemplo siguiente se muestra una implementación simple del método AddBackupObjects() . Otras cosas que pueda necesitar o va a agregar a la implementación son los siguientes:

  • Para el segundo parámetro de las llamadas al método SetParameter() , considere la posibilidad de llamar a un método que utiliza la información de referencia cultural actual para devolver una cadena localizada.

  • Si los objetos secundarios a veces deben ser seleccionables para copia de seguridad, restauración o restauración con un nombre---nueva, pero otras veces no estar; Considere la posibilidad de usar la iteración sobre los objetos secundarios para establecer las propiedades CanSelectForBackup, CanSelectForRestoreo CanRenameOnRestore para cada elemento secundario. En el ejemplo siguiente, childIBR es un objeto de una clase secundaria y SupportedWebApp es una propiedad que devuelve una referencia a la SPWebApplication que es compatible con el objeto. Dado que no se puede seleccionar la aplicación Web de administración de copia de seguridad o restauración independientemente de su forma principal, tampoco debería hacerlo el contenido del objeto de soporte.

    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 objeto de la clase de contenido a veces puede ser el componente superior (distinto de la granja de servidores) en el árbol de componentes que la operación de copia de seguridad o restauración procesará; pero es en otro veces el elemento secundario de algún componente personalizado (no granja de servidores) de superior, a continuación, el método AddBackupObjects debe comprobar si el objeto ya se ha agregado al árbol mediante una llamada a la AddBackupObjects del objeto primario. Para hacer esto, se ajusta toda la lógica de implementación (después de comprobar si el objeto primario es una referencia null (Nothing en Visual Basic)) en una estructura condicional, como se muestra en el ejemplo siguiente.

    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
    

Ejemplos

El siguiente es un ejemplo de una implementación del método AddBackupObjects() . En este ejemplo se supone que la clase de contenido tiene un ChildContentCollection de IBackupRestore los objetos secundarios. Si la clase tiene más de un tipo de componente secundario, que pueda tener colecciones separadas para cada tipo y realice una iteración por cada colección.

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

Vea también

Referencia

interfaz IBackupRestore

Miembros IBackupRestore

Espacio de nombres Microsoft.SharePoint.Administration.Backup