IBackupRestore.AddBackupObjects method
將IBackupRestore物件和其子IBackupRestore物件新增到指定的備份物件。
Namespace: Microsoft.SharePoint.Administration.Backup
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'宣告
Sub AddBackupObjects ( _
parent As SPBackupRestoreObject _
)
'用途
Dim instance As IBackupRestore
Dim parent As SPBackupRestoreObject
instance.AddBackupObjects(parent)
void AddBackupObjects(
SPBackupRestoreObject parent
)
參數
parent
Type: Microsoft.SharePoint.Administration.Backup.SPBackupRestoreObject要新增的IBackupRestore物件會備份物件。
備註
實作的AddBackupObjects必須完成下列事項:
確定SPBackupRestoreObject物件,代表您的自訂內容元件已建立並新增至SPBackupRestoreObject物件,將會處理的備份或還原作業的樹狀目錄。
確保SPBackupRestoreObject物件的內容會實作IBackupRestore元件新增至樹狀目錄中每個子項目。
指定類型的名稱和描述可以使用管理中心應用程式或 stsadm.exe,使用者介面或SharePoint Management Shell指令程式或一些其他的備份還原應用程式的使用者介面元件。
下列範例會顯示簡單的實作的**AddBackupObjects()**方法。您可能需要或想要新增至您實作其他事項如下:
呼叫**SetParameter()**方法的第二個參數,請考慮呼叫方法所要傳回的當地語系化的字串會使用目前的文化特性資訊。
如果您的子物件有時應該選取的備份、 還原或還原與-a-新-名稱,但其他時間不能 ;請考慮使用透過的子物件的反覆運算設定每個子CanSelectForBackup、 CanSelectForRestore或CanRenameOnRestore屬性。在下列範例中, childIBR為子類別的物件, SupportedWebApp屬性會傳回SPWebApplication支援的物件參考。由於無法選取 [管理 Web 應用程式的備份或還原分開與其父系,兩者都不應該支援內容的物件。
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
如果內容的類別的物件可以在樹狀目錄中的元件備份或還原作業會處理 ; 有時是上方的元件 (而非在伺服器陣列)但在其他時間的子系一些更高 (非伺服器陣列) 自訂元件,然後AddBackupObjects方法必須檢查是否物件尚未新增至樹狀目錄AddBackupObjects父物件之呼叫所。若要這樣做,環繞所有實作邏輯 (之後檢查父項是否a null reference (Nothing in Visual Basic)) 中設定格式化的條件結構,如下列範例所示。
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
以下是實作的**AddBackupObjects()**方法的範例。本範例會假設您的內容類別有子IBackupRestore物件ChildContentCollection 。如果您的類別具有多個類型的子元件,您可能會有不同的集合,每個類型及逐一查看每個集合。
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