События компонента
Дата последнего изменения: 27 декабря 2010 г.
Применимо к: SharePoint Foundation 2010
Microsoft SharePoint Foundation предоставляет классы для ответа на события компонента, что позволяет отслеживать создаваемые события и отвечать на них, когда в ферме серверов установлен компонент, когда компонент добавлен к новому виртуальному серверу или когда компонент удален.
Некоторые из этих событий являются последующими событиями, означая, что они создаются после того, как было завершено соответствующее действие, и определение компонента создается в коллекции определений компонентов фермы.
Невозможно через события компонента отменить операцию установки или удаления.
Классы событий компонента
Microsoft.SharePoint.SPFeatureReceiver Базовый абстрактный класс, который может быть переопределен для операции компонента по активации, деактивации, установке, удалению или обновлению.
Microsoft.SharePoint.SPFeatureReceiverProperties Класс, предоставляющий доступ к свойствам событий, таким как экземпляр компонента, который был создан, определение компонента или родительский объект компонента.
Обработчики событий подготовки компонента
Обработчики событий подготовки компонента позволяют написать особый код для обработки различных событий, которые возникают во время жизненного цикла компонента. Класс SPFeatureReceiver предоставляет следующие методы для обработки событий:
Для реализации обработчиков событий подготовки компонента создайте класс, производный от класса SPFeatureReceiver, и реализуйте эти методы. Поскольку всегда передается указатель на родительский объект, можно выполнить настройку согласно индивидуальным требованиям. Сборка, которая содержит приемник компонента, должна размещаться в глобальном кэше сборок. В файле Feature.xml можно зарегистрировать приемник компонента с помощью атрибутов ReceiverAssembly и ReceiverClass элемента Feature верхнего уровня, например:
<Feature Id="5E88AE4E-2ECB-4CC5-B9EC-9019250F5BC8"
Title="Knowledge Base Infrastructure"
Scope="Site"
ReceiverAssembly="MS.Samples.SharePoint.KnowledgeBase, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d24e3c1752ded9ed"
ReceiverClass="MS.Samples.SharePoint.KnowledgeBase.KnowledgeBaseInstaller"
xmlns="https://schemas.microsoft.com/sharepoint/">
Сведения о любых исключениях, возникших во время процесса активации, передаются пользователю, и компонент не помечается как активный.
Напишите код, обрабатывающий случаи, когда пользователь пытается принудительно активировать событие компонента, хотя оно уже активировано. Например, если обработчик событий в приемнике компонента создает список, проверьте, что код не приводит к сбою, если список уже существует.