Пошаговое руководство. Добавление приемников событий компонентов
Приемники событий функций — это методы, которые выполняются при возникновении одного из следующих событий, связанных с функциями, в SharePoint:
Устанавливается компонент.
Активируется функция.
Функция деактивирована.
Функция удаляется.
В этом пошаговом руководстве показано, как добавить приемник событий в компонент в проекте SharePoint. В нем показаны следующие задачи:
Создание пустого проекта с приемником событий компонента.
Обработка метода FeatureDeactivating.
Использование объектной модели проекта SharePoint для добавления объявления в список объявлений.
Примечание.
Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Персонализация среды IDE.
Необходимые компоненты
Для выполнения этого пошагового руководства требуются следующие компоненты:
Поддерживаемые редакции Microsoft Windows и SharePoint.
Visual Studio.
Создание проекта приемника событий компонентов
Сначала создайте проект для хранения приемника событий компонентов.
Создание проекта с приемником событий компонента
В строке меню выберите "Файл>нового проекта">, чтобы отобразить диалоговое окно "Новый проект".
Разверните узел SharePoint в Visual C# или Visual Basic, а затем выберите узел 2010.
В области "Шаблоны" выберите шаблон проекта SharePoint 2010.
Этот тип проекта предназначен для приемников событий компонентов, поскольку для них не существует шаблона проекта.
В поле "Имя" введите FeatureEvtTest и нажмите кнопку "ОК", чтобы отобразить мастер настройки SharePoint.
На странице "Указание сайта и уровня безопасности для отладки" введите URL-адрес сайта сервера SharePoint, на который нужно добавить новый элемент настраиваемого поля, или используйте расположение по умолчанию (имя> системы http://</).
В разделе " Что такое уровень доверия для этого решения SharePoint?" , нажмите кнопку "Развернуть как решение фермы".
Дополнительные сведения об изолированных решениях и решениях фермы см. в разделе "Изолированные решения".
Нажмите кнопку "Готово", а затем обратите внимание, что в узле "Компоненты" появится функция с именем Feature1.
Добавление приемника событий в функцию
Затем добавьте приемник событий в функцию и добавьте код, который выполняется при деактивации функции.
Добавление приемника событий в функцию
Откройте контекстное меню узла "Компоненты", а затем нажмите кнопку "Добавить функцию ", чтобы создать функцию.
В узле "Компоненты" откройте контекстное меню компонента 1 и нажмите кнопку "Добавить приемник событий", чтобы добавить приемник событий в функцию.
При этом добавляется файл кода в компоненте Feature1. В этом случае он называется Feature1.EventReceiver.cs или Feature1.EventReceiver.vb в зависимости от языка разработки проекта.
Если проект написан в Visual C#, добавьте следующий код в верхней части приемника событий, если он еще не существует:
using System;
Класс приемника событий содержит несколько закомментированных методов, действующих как события. Замените метод FeatureDeactivating следующим образом:
public override void FeatureDeactivating(SPFeatureReceiverProperties properties) { try { // Get reference to SharePoint site. SPSite site = new SPSite("http://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.
На странице "Компоненты" нажмите кнопку "Отключить" рядом с компонентом FeatureEvtTest Feature1, а затем щелкните ссылку "Деактивировать эту функцию", чтобы отключить функцию.
Нажмите кнопку "Главная ".
Обратите внимание, что объявление отображается в списке объявлений после отключения функции.