实现备份和还原
上次修改时间: 2010年4月20日
适用范围: SharePoint Foundation 2010
Service Application Framework 中提供了对实现 Web 服务应用程序和 Web 服务应用程序代理的备份和还原的支持。每项服务可标记为独立备份。没有特殊要求的服务数据库可在 SharePoint Foundation 2010 上注册。应用相关备份属性可以作为实现 IBackupRestore 类的替代方法。
本来就不受 SharePoint Foundation 2010 备份和还原基础结构支持的所有复杂属性不会自动备份。Service Application Framework 不会参与 SharePoint Foundation 2010 中仅用于配置的备份和还原。
选择进行备份和还原的服务会自动备份和还原以下资源:
持久对象。
平台级访问控制列表 (ACL)。
服务端点。
服务应用程序池。
基于拓扑服务的负载平衡器。
通过派生自 SPDatabase 的类引用的数据库和轮循机制负载平衡器 。(所有其他自定义负载平衡器要求备份和还原自定义代码)。
备注
如果 PersistedAttributeMergeType 设置为 merge,则数据库和轮循机制负载平衡器均会包含在备份和还原中。例如,将会备份标有 [Persisted] 的数据库引用。将不会备份或还原标有 [Persisted(PersistedAttributeMergeType.NonMerge)] 的数据库引用。这样服务开发人员可以确定一个数据库或负载平衡器是否必须包含在备份包中。例如,可能无需备份临时数据库。
实现备份和还原
通过将 C# 语言属性应用到应用程序和应用程序代理类,可实现备份和还原,如下所示:
将 IisWebServiceApplicationBackupBehaviorAttribute 属性应用到应用程序类以表示该 Web 服务应用程序应在发生备份时包含在备份中。
将 IisWebServiceApplicationProxyBackupBehaviorAttribute 属性应用到应用程序代理类以表示该 Web 服务应用程序代理应在发生备份时包含在备份中。
示例
[IisWebServiceApplicationProxyBackupBehavior]
[System.Runtime.InteropServices.Guid("7081FDA9-21B4-4AF6-9DCD-877348683C59")]
internal sealed class SampleWebServiceApplicationProxy : SPIisWebServiceApplicationProxy
<IisWebServiceApplicationProxyBackupBehavior, System.Runtime.InteropServices.Guid("7081FDA9-21B4-4AF6-9DCD-877348683C59")>
Friend class SampleWebServiceApplicationProxy
Inherits SPIisWebServiceApplicationProxy
End class
提供一种扩展机制
如果服务应用程序或应用程序代理需要在备份和还原期间执行自定义代码,则 Service Application Framework 提供一种扩展机制,模拟 SharePoint Foundation 2010 备份和还原基础结构公开的界面。
将自定义代码添加到备份和还原进程
获取以下类之一:
替代一项或多项虚拟属性或功能。
将自定义属性应用到应用程序或应用程序代理类。
备注
唯一支持的备份机制是实现基于属性的备份和还原的机制。即使已实现 IBackupRestore 及其他备份和还原接口,您也应考虑使用基于属性的基础结构。无法使用公共 API 重新创建服务应用程序的某些部件,例如使用的应用程序池。