SPBackupRestoreObject 类
提供了用于备份和还原操作帮助器函数,并充当一个SPBackupRestoreInformation对象和其相关的IBackupRestore对象的容器。
继承层次结构
System.Object
Microsoft.SharePoint.Administration.Backup.SPBackupRestoreObject
命名空间: Microsoft.SharePoint.Administration.Backup
程序集: Microsoft.SharePoint(位于 Microsoft.SharePoint.dll 中)
语法
声明
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public NotInheritable Class SPBackupRestoreObject
用法
Dim instance As SPBackupRestoreObject
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public sealed class SPBackupRestoreObject
备注
因为它有一个IBackupRestore属性返回一个IBackupRestore对象, SPBackupRestoreObject对象可以被视为表示一种类型,可以备份或还原的内容组成部分。
SPBackupRestoreObject对象是可嵌套的。有关更多信息,请参见Parent和Children属性。通常情况下,树的SPBackupRestoreObject对象将镜像树的内容的组件,如服务器场、 Web 服务、 Web 应用程序和内容数据库。但是, Reparent方法使您能够创建树,以便备份和还原操作不完全镜像部署的组件树的任何部分。
此类的公共构造函数。获取与返回的此类 ; 对象的方法对SPBackupRestoreObject对象的引用例如, GetRoot,或者使用索引器以获取对SPBackupRestoreObjectCollection对象的特定成员的引用。
此类具有多个常数用来从Information属性在对象中提取信息。
SPBackupRestoreObject对象保持为spbackup.xml或sprestore.xml中的Information属性的对象的Location属性中标识的备份位置的子文件夹中保存中的<SPBackupObject>元素。
示例
下面演示的SPBackupRestoreObject类正在使用中的方法,将确保该组件名称由用户提交唯一标识单个组件进行备份或还原操作的组件的树的顶部。有关完整的示例和详细的讨论,请参阅How to: Programmatically Back Up Content。
private static SPBackupRestoreObject EnsureUniqueValidComponentName(SPBackupRestoreSettings settings, ref Guid operationGUID)
{
SPBackupRestoreObjectCollection list = SPBackupRestoreConsole.FindItems(operationGUID, settings.IndividualItem);
SPBackupRestoreObject component = null;
if (list.Count <= 0)
{
Console.WriteLine("There is no component with that name. Run again with a new name.");
Console.WriteLine("Press Enter to continue.");
Console.ReadLine();
}
else if (list.Count > 1) // The component name specified is ambiguous. Prompt user to be more specific.
{
Console.WriteLine("More than one component matches the name you entered.");
Console.WriteLine("Run again with one of the following:");
for (int i = 0; i < list.Count; i++)
{
Console.WriteLine("\t{0}", list[i].ToString());
}
Console.WriteLine("Press Enter to continue.");
Console.ReadLine();
}
else
{
component = list[0];
}
return component;
}// end EnsureUniqueValidComponentName
Private Shared Function EnsureUniqueValidComponentName(ByVal settings As SPBackupRestoreSettings, ByRef operationGUID As Guid) As SPBackupRestoreObject
Dim list As SPBackupRestoreObjectCollection = SPBackupRestoreConsole.FindItems(operationGUID, settings.IndividualItem)
Dim component As SPBackupRestoreObject = Nothing
If list.Count <= 0 Then
Console.WriteLine("There is no component with that name. Run again with a new name.")
Console.WriteLine("Press Enter to continue.")
Console.ReadLine()
ElseIf list.Count > 1 Then ' The component name specified is ambiguous. Prompt user to be more specific.
Console.WriteLine("More than one component matches the name you entered.")
Console.WriteLine("Run again with one of the following:")
For i As Integer = 0 To list.Count - 1
Console.WriteLine(vbTab & "{0}", list(i).ToString())
Next i
Console.WriteLine("Press Enter to continue.")
Console.ReadLine()
Else
component = list(0)
End If
Return component
End Function ' end EnsureUniqueValidComponentName
以下是在sprestore.xml文件中的<SPBackupObject>元素的一个示例。元素所表示的组件是SharePoint Foundation名为"SharePoint-80"的 Web 应用程序。
<SPBackupObject Name="SharePoint - 80">
<SPBackupRestoreClass>Microsoft.SharePoint.Administration.SPWebApplication, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</SPBackupRestoreClass>
<SPBackupSelectable>True</SPBackupSelectable>
<SPRestoreSelectable>True</SPRestoreSelectable>
<SPName>SharePoint - 80</SPName>
<SPId>6abb0dec-eeab-42d2-8996-af63b8a3ef60</SPId>
<SPCanBackup>True</SPCanBackup>
<SPCanRestore>True</SPCanRestore>
<SPCurrentProgress>100</SPCurrentProgress>
<SPLastUpdate>04/27/2009 12:34:56</SPLastUpdate>
<SPCurrentPhase>Done</SPCurrentPhase>
<SPParameters>
<SPParameter Key="6abb0dec-eeab-42d2-8996-af63b8a3ef60STATE.xml"><![CDATA[00000003.bak]]></SPParameter>
<SPParameter Key="ApplicationPoolId"><![CDATA[SharePoint Content Application Pool]]></SPParameter>
<SPParameter Key="Features.xml"><![CDATA[0000001B.bak]]></SPParameter>
<SPParameter Key="IdentityType"><![CDATA[SpecificUser]]></SPParameter>
<SPParameter Key="OutboundMailServer"><![CDATA[smtp.example.com]]></SPParameter>
<SPParameter Key="SPDescription"><![CDATA[Content and configuration data for this Web application.]]></SPParameter>
<SPParameter Key="SPName" InputDescription="New web application name:"><![CDATA[SharePoint - 80]]></SPParameter>
<SPParameter Key="SPServer" InputDescription="New web application URL:" ForceLtr="true"><![CDATA[http://sharepoint.example.com/]]></SPParameter>
<SPParameter Key="SPUserName"><![CDATA[DOMAIN\username]]></SPParameter>
<SPParameter Key="WebApplicationId"><![CDATA[67bf6cdb-8fc9-457f-9764-6a8bbf07769e]]></SPParameter>
</SPParameters>
</SPBackupObject>
线程安全性
该类型的任何公共 静态 (已共享 在 Visual Basic 中) 成员都是线程安全的。不保证任何实例成员都是线程安全的。