Пошаговое руководство. Добавление приемников событий компонентов
Приемники событий компонентов — это методы, выполняемые при возникновении следующих событий в SharePoint, связанных с компонентами:
установка компонента;
включение компонента;
отключение компонента;
удаление компонента.
В этом пошаговом руководстве показано, как добавить приемник событий в компонент проекта SharePoint.В этом примере демонстрируются следующие задачи.
Создание пустого проекта с приемником событий компонента.
Работа с методом FeatureDeactivating.
Добавление объявлений в список Announcements с помощью объектной модели проекта SharePoint.
![]() |
---|
На вашем компьютере названия некоторых элементов интерфейса пользователя Visual Studio или их расположение могут отличаться от указанных в нижеследующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Параметры Visual Studio. |
Обязательные компоненты
Ниже приведены компоненты, необходимые для выполнения данного пошагового руководства.
Поддерживаемые выпуски Microsoft Windows и SharePoint.Дополнительные сведения см. в разделе Требования по разработке решений SharePoint;
Visual Studio.
Создание проекта приемника событий компонента
Сначала необходимо создать проект, в котором будет содержаться приемник событий компонента.
Создание проекта с приемником событий компонента
В строке меню выберите Файл, Создать, Проект для отображения диалогового окна Создать проект.
Разверните узел SharePoint под или *** Visual C# *** или Visual Basic, а затем выберите узел 2010.
В панели Шаблоны выберите шаблон Проект SharePoint 2010.
Использовать этот тип проекта для приемников событий компонента, поскольку они не имеют шаблон проекта.
В окне Имя введите FeatureEvtTest, а затем кнопку ОК для отображения Мастер настройки SharePoint.
На странице Укажите сайт и уровень безопасности для отладки введите URL-адрес сайта сервера SharePoint, в который требуется добавить пользовательский элемент поля, или примите расположение по умолчанию (http://<system name>/).
В разделе Какова степень доверия для этого решения SharePoint? выберите переключатель Развернуть как решение фермы.
Дополнительные сведения о сравнительных особенностях обезвреженных решений и решений фермы см. в разделе Замечания об обезвреженных решениях.
Нажмите кнопку Готово, а затем обратите внимание, что функция, которая называется Feature1 отображается в узле Компоненты.
Добавление приемника событий в компонент
Теперь добавьте в компонент приемник событий и добавьте код, выполняемый при отключении этого компонента.
Добавление приемника событий в компонент
Открыть контекстное меню для узла функций, а затем выберите *** добавьте функция *** create function.
В узле Компоненты открыть контекстное меню для *** Feature1 ***, а затем выберите *** Добавление приемника событий *** для добавления приемника событий в функции.
В компонент Feature1 добавится файл кода.В данном случае он будет иметь имя Feature1.EventReceiver.cs или Feature1.EventReceiver.vb, в зависимости от языка программирования, используемого в проекте.
Если проект написан на Visual C#, добавьте следующий код в начало приемник событий, если он еще не находится там.
using System;
Класс приемника событий содержит несколько методов, которые выступают в виде закомментированных события.Замените метод FeatureDeactivating следующим кодом.
Public Overrides Sub FeatureDeactivating(ByVal properties As SPFeatureReceiverProperties) Try ' Get reference to SharePoint site. Dim site As SPSite = New SPSite("https://localhost") Dim web As SPWeb = site.OpenWeb("/") ' Get reference to Announcements list. Dim announcementsList As SPList = web.Lists("Announcements") ' Add new announcement to Announcements list. Dim oListItem As SPListItem = announcementsList.Items.Add oListItem("Title") = ("Deactivated Feature: " + properties.Definition.DisplayName) oListItem("Body") = (properties.Definition.DisplayName + (" was deactivated on: " + DateTime.Now.ToString)) oListItem.Update() Catch e As Exception Console.WriteLine(("Error: " + e.ToString)) End Try End Sub
public override void FeatureDeactivating(SPFeatureReceiverProperties properties) { try { // Get reference to SharePoint site. SPSite site = new SPSite("https://localhost"); SPWeb web = site.OpenWeb("/"); // Get reference to Announcements list. SPList announcementsList = web.Lists["Announcements"]; // Add new announcement to Announcements list. SPListItem oListItem = announcementsList.Items.Add(); oListItem["Title"] = "Deactivated Feature: " + properties.Definition.DisplayName; oListItem["Body"] = properties.Definition.DisplayName + " was deactivated on: " + DateTime.Now.ToString(); oListItem.Update(); } catch (Exception e) { Console.WriteLine("Error: " + e.ToString()); } }
Тестирование приемника событий компонента
Затем отключите компонент, чтобы проверить, выдаст ли метод FeatureDeactivating объявление в список объявлений в SharePoint.
Тестирование приемника событий компонента
Задайте значение свойства Активная конфигурация развертывания проекта в *** Без активации ***.
Это предотвратит активацию компонента в SharePoint и позволит выполнить отладку приемников событий компонентов.Дополнительные сведения см. в разделе Отладка решений SharePoint.
Выберите ключ F5 для запуска проекта и его развертывания на сервере SharePoint.
В верхней части страницы SharePoint, откройте меню *** Поместите действия ***, а затем выберите Параметры сайта.
В разделе *** Поместите действия *** страницы Параметры сайта выберите ссылку *** Управление функциями сайта ***.
На странице Компоненты, нажмите кнопку *** Активировать *** рядом с функцией *** FeatureEvtTest Feature1 ***.
На странице Компоненты, нажмите кнопку *** Deactivate *** рядом с функцией *** FeatureEvtTest Feature1 ***, а затем выберите ссылку подтверждения *** Отключите эту функцию *** деактивировать функцию.
Нажмите кнопку Главная.
Обратите внимание, что после отключения компонента появилось объявление в списке Announcements.
См. также
Задачи
Практическое руководство. Создание приемника событий