Объектная модель обновления SharePoint Foundation
Дата последнего изменения: 19 ноября 2010 г.
Применимо к: SharePoint Foundation 2010
В этой статье
Классы обновления
Процессы обновления
Файлы конфигурации
В этом разделе описывается, как объектная модель Microsoft.SharePoint.Upgrade используется приложениями Microsoft SharePoint Foundation 2010 и Microsoft SharePoint Server 2010для обновления развертываний. Сведения, представленные в этом разделе, имеют описательный характер и не предназначены для общего использования.
SharePoint Foundation 2010 и SharePoint Server 2010 используют объектную модель пространства имен Microsoft.SharePoint.Upgrade для определения действий по обновлению для серверных приложений, основанных на платформе SharePoint Foundation 2010 при обновлении до следующей версии или сборки SharePoint Foundation. Объектная модель используется для определения последовательности действий по согласованному выполнению различных конкретных задач, необходимых приложению для обновления до новой версии или сборки SharePoint Foundation.
![]() |
---|
Если попытаться включить пользовательский код при обновлении SharePoint Foundation, могут возникнуть различные проблемы. Например, в связи с тем, что имена в пространстве имен должны быть уникальными и не должны совпадать с именами продуктов по умолчанию, контроль версий схемы может усложниться и привести к повреждению среды при выходе пакетов обновления SharePoint Foundation. Кроме того, использование этой объектной модели в настраиваемом приложении обновления может серьезно повлиять на производительность. Эту объектную модель можно использовать только в следующих контекстах: обновление сборки до уровня текущей версии SharePoint Foundation или обновление текущей версии до уровня следующей версии, например при использовании пакетов обновления или при обновлении сборки до уровня другой сборки для настраиваемого приложения. Вместо использования этой объектной модели для определения логики обновления используйте другие средства SharePoint Foundation для обновления развертывания. Например, обработчики событий развертывания компонента позволяют реализовать пользовательский код для обновления компонентов. Если это возможно, для выполнения задачи вместо написания кода используйте декларативные действия в SharePoint Foundation. Изменяйте веб-части по отдельности, чтобы они работали в Microsoft SharePoint Foundation 2010. А для обновления определения сайта используйте файл определения обновлений (UDF), чтобы определить действия по обновлению. |
Классы обновления
Класс SPAction — это базовый класс, от которого образуются другие классы для определенных потребностей обновления. Например, класс SPDatabaseAction наследуется от SPAction для определений действий по обновлению баз данных. Для приложения обновления, например, может потребоваться, чтобы SharePoint Foundation выполнялись действия по обновлению фермы серверов, а также обновлению баз данных, веб-сайтов служб IIS, семейств сайтов SharePoint, веб-приложений и серверов.
Класс SPSequence является конечным базовым классом для других классов последовательностей в пространстве имен Microsoft.SharePoint.Upgrade, включающем SPActionSequence, из которого выводятся SPDatabaseSequence, SPIisWebSiteSequence, SPPersistedObjectSequence и SPSiteSequence. Эта объектная модель также реализует такие ресурсы, как классы SPManager и SPMigrator, для доступа к свойствам обновления и переноса установок. Класс SPUpgradeException используется для перехвата исключений, относящихся к SharePoint Foundation.
Класс процесса обновления имеет атрибуты, задающие базовый тип действия по обновлению для загрузки и выполнения. Каждое действие по обновлению имеет тег атрибута версии, который определяет, требуется ли выполнение конкретного действия по обновлению, путем сравнения текущей версии обновляемого ресурса с конечной версией действия по обновлению. Тег атрибута версии также используется при сортировке отдельных действий по обновлению.
[TargetSchemaVersion("14.0.1.0")]
[ActionBaseType(typeof(MyWebAppAction))]
[TargetUpgradableObject(typeof(SPWebApplication))]
Атрибут TargetSchemaVersion последовательности должен соответствовать атрибуту TargetSchemaVersion последнего действия по обновлению в модуле действий.
Процессы обновления
Инфраструктура обновления SharePoint Foundation определяет интерфейс для обновления определенного ресурса или экземпляра службы приложения. Каждый модуль действий совмещается со сходным по названию модулем последовательности действий, расположенным в отдельном каталоге и определяющим верную последовательность для данного действия. Процесс обновления определяет класс, который наследуется от одного из классов последовательностей, предоставленных объектной моделью SharePoint Foundation, и внедряет или переопределяет его членов. Инфраструктура вызывает код обновления последовательным и детерминированных образом, другими словами — в виде процесса обновления, соответствующего логическому компоненту кода обновления для одного ресурса.
![]() |
---|
SharePoint Foundation не поддерживает перезапись или добавление элементов к одному из процессов обновления по умолчанию. |
Обновление выполняется последовательно и начинается с элементов, которые размещаются выше в логической иерархии (ближе к корневому элементу), но фактически обновляются элементы на более низких уровнях (например, сначала база данных) до тех пор, пока не будет обновлена вся ферма серверов. Обновление начинается с базы данных конфигурации и центра администрирования SharePoint, а также данных, связанных с каждым сервером в ферме, а затем выполняется в каждом веб-приложении для обновления всего семейства сайтов до тех пор, пока все веб-сайты во всех семействах сайтов каждого веб-приложения не будут обновлены. Каждое веб-приложение предыдущей версии обновляется по одному до веб-приложения текущей версии, как и базы данных контента, которые поддерживают соответствующие семейства сайтов.
Процесс обновления состоит из одного или нескольких действий по обновлению, которые выявляются во время выполнения и необходимы для обновления определенной функции или компонента. SharePoint Foundation принимает экземпляр ресурса или набор экземпляров, определяет, какой процесс обновления должен применяться к этим ресурсам (на основе загруженных сборок, которые указаны в файлах конфигурации), и запускает процессы в выбранных ресурсах. Порядок процессов устанавливается в соответствии с данными, приведенными в файлах конфигураций.
Обновление SharePoint Foundation управляется данными. Это значит, что ресурсы, зарегистрированные в базе данных конфигурации как обновляемые, обновляются в определенном порядке. Для объектов, таких как семейства сайтов, могут применяться несколько процессов обновления. Можно выделить процессы обновления для веб-приложений (виртуальных серверов), баз данных контента или общих служб и т. д. Обновляемый объект, имеющий встроенную систему управления версиями схем, обеспечивает предоставление зависимостей обновления и имеет свойства, определяющие необходимость обновления текущего объекта.
Инфраструктура обновления предоставляет определение интерфейса для обновляемых объектов, который позволяет обновлять конкретные ресурсы. На основе ресурсов, которые требуется обновить, следует определить процессы обновления (или подключаемые модули), реализующие этот интерфейс так, чтобы можно было вызвать код обновления. Процессы обновления на заданном сервере можно выполнять неограниченное количество раз. Процесс обновления определяет, нужно ли предпринять какое-либо действие в определенное время; кроме того, при возникновении ошибок следует ввести контрольные точки для возобновления обновления с определенного момента во время следующего выполнения кода обновления. Процессы обновления создают журналы и отправляют сообщения об ошибках и ходе процесса в пользовательский интерфейс.
Файлы конфигурации
Файл конфигурации представляет собой XML-файл, указывающий библиотеки DLL и имена классов для всех подключаемых модулей. Такие файлы используются во время выполнения для создания правильных классов и выполнения их с помощью отражения. В SharePoint Foundation включены файлы конфигурации по умолчанию, которые хранятся в папке %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\Config\Upgrade, используемые для определения версий продуктов и схем, к которым применяется обновление, для регистрации сборки, которая определяет классы обновления, для сопоставления старых файлов с указанными папками в каталоге установки SharePoint Foundation 2010 и для удаления компонентов, которые использовались в старой версии.
См. также
Ссылка
Концепции
Примерный план для действий по обновлению