Реализация резервного копирования и восстановления
Дата последнего изменения: 20 апреля 2010 г.
Применимо к: SharePoint Foundation 2010
Поддержка реализации резервного копирования и восстановления приложений веб-служб и прокси-классов приложений веб-служб предоставляется в приложений-служб. Каждую службу можно отметить для резервного копирования по отдельности. Базы данных служб без специальных требований можно зарегистрировать в SharePoint Foundation 2010. Применение соответствующих атрибутов резервного копирования может стать альтернативой реализации класса IBackupRestore.
Автоматическое резервное копирование всех сложных свойств, не обрабатываемых инфраструктурой резервного копирования и восстановления SharePoint Foundation 2010, не происходит. приложений-служб не участвует в резервном копировании и восстановлении только для конфигураций в SharePoint Foundation 2010.
У служб, для которых выбрано резервное копирование и восстановление, выполняется автоматическое резервное копирование и восстановление следующих ресурсов.
Хранимый объект.
Списки управления доступом уровня платформы.
Конечные точки службы.
Пул приложений-служб.
Службы балансировки нагрузки на основе служб для топологии
Базы данных и службы балансировки нагрузки с циклическим перебором, на которые имеется ссылка через классы, производные от SPDatabase. (Все другие пользовательские службы балансировки нагрузки требуют резервного копирования и восстановления пользовательского кода.)
Примечание |
---|
И базы данных, и службы балансировки нагрузки с циклическим перебором включаются в резервное копирование и восстановление, если атрибут PersistedAttributeMergeType имеет значение merge. Например, будет создана резервная копия ссылки на базу данных с пометкой [Persisted]. Резервное копирование и восстановление ссылки на базу данных с пометкой [Persisted(PersistedAttributeMergeType.NonMerge)] не выполняется. Это позволяет разработчику службы решать, включать ли в пакет резервного копирования базу данных или службу балансировки нагрузки. Например, может оказаться ненужным создавать резервную копию временной базы данных. |
Реализация резервного копирования и восстановления
Резервное копирование и восстановление реализуются путем применения атрибута языка C# к приложению и прокси-классам приложения следующим образом.
Примените атрибут IisWebServiceApplicationBackupBehaviorAttribute к классу приложения, чтобы указать, что приложение веб-службы должно включаться в пакет резервного копирования.
Примените атрибут IisWebServiceApplicationProxyBackupBehaviorAttribute к прокси-классу приложения, чтобы указать, что прокси-класс приложения веб-службы должен включаться в пакет резервного копирования.
Пример
[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
Предоставление механизма расширения
Если во время резервного копирования и восстановления для приложения-службы или прокси-класса приложения необходимо выполнять пользовательский код, приложений-служб предлагает механизм расширения, который имитирует интерфейс, предоставляемый инфраструктурой резервного копирования и восстановления SharePoint Foundation 2010.
Добавление пользовательского кода в процесс резервного копирования и восстановления
Унаследуйте класс от одного из следующих:
IisWebServiceApplicationBackupBehaviorAttribute для приложений-служб
IisWebServiceApplicationProxyBackupBehaviorAttribute для прокси-классов приложений-служб
Переопределите одно или несколько виртуальных свойств или функций.
Примените пользовательский атрибут к приложению или прокси-классу приложения.
Примечание |
---|
Единственный поддерживаемый механизм резервного копирования — это реализация системы резервного копирования и восстановления на базе атрибутов. Даже если реализован интерфейс IBackupRestore и другие интерфейсы резервного копирования и восстановления, следует рассмотреть возможность использования инфраструктуры на базе атрибутов. Некоторые части приложения-службы, например, используемый пул приложений, нельзя создать заново с помощью открытых API-интерфейсов. |