Поделиться через


Пошаговое руководство. Добавление приемников событий компонентов

Приемники событий функций — это методы, которые выполняются при возникновении одного из следующих событий, связанных с функциями, в SharePoint:

  • Устанавливается компонент.

  • Активируется функция.

  • Функция деактивирована.

  • Функция удаляется.

В этом пошаговом руководстве показано, как добавить приемник событий в компонент в проекте SharePoint. В нем показаны следующие задачи:

  • Создание пустого проекта с приемником событий компонента.

  • Обработка метода FeatureDeactivating.

  • Использование объектной модели проекта SharePoint для добавления объявления в список объявлений.

    Примечание.

    Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Персонализация среды IDE.

Необходимые компоненты

Для выполнения этого пошагового руководства требуются следующие компоненты:

  • Поддерживаемые редакции Microsoft Windows и SharePoint.

  • Visual Studio.

Создание проекта приемника событий компонентов

Сначала создайте проект для хранения приемника событий компонентов.

Создание проекта с приемником событий компонента

  1. В строке меню выберите "Файл>нового проекта">, чтобы отобразить диалоговое окно "Новый проект".

  2. Разверните узел SharePoint в Visual C# или Visual Basic, а затем выберите узел 2010.

  3. В области "Шаблоны" выберите шаблон проекта SharePoint 2010.

    Этот тип проекта предназначен для приемников событий компонентов, поскольку для них не существует шаблона проекта.

  4. В поле "Имя" введите FeatureEvtTest и нажмите кнопку "ОК", чтобы отобразить мастер настройки SharePoint.

  5. На странице "Указание сайта и уровня безопасности для отладки" введите URL-адрес сайта сервера SharePoint, на который нужно добавить новый элемент настраиваемого поля, или используйте расположение по умолчанию (имя> системы http://</).

  6. В разделе " Что такое уровень доверия для этого решения SharePoint?" , нажмите кнопку "Развернуть как решение фермы".

    Дополнительные сведения об изолированных решениях и решениях фермы см. в разделе "Изолированные решения".

  7. Нажмите кнопку "Готово", а затем обратите внимание, что в узле "Компоненты" появится функция с именем Feature1.

Добавление приемника событий в функцию

Затем добавьте приемник событий в функцию и добавьте код, который выполняется при деактивации функции.

Добавление приемника событий в функцию

  1. Откройте контекстное меню узла "Компоненты", а затем нажмите кнопку "Добавить функцию ", чтобы создать функцию.

  2. В узле "Компоненты" откройте контекстное меню компонента 1 и нажмите кнопку "Добавить приемник событий", чтобы добавить приемник событий в функцию.

    При этом добавляется файл кода в компоненте Feature1. В этом случае он называется Feature1.EventReceiver.cs или Feature1.EventReceiver.vb в зависимости от языка разработки проекта.

  3. Если проект написан в Visual C#, добавьте следующий код в верхней части приемника событий, если он еще не существует:

    using System;
    
  4. Класс приемника событий содержит несколько закомментированных методов, действующих как события. Замените метод 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.

Тестирование приемника событий компонентов

  1. Задайте для свойства конфигурации активного развертывания проекта значение "Нет активации".

    Установка этого свойства предотвращает активацию функции в SharePoint и позволяет отлаживать приемники событий компонентов. Дополнительные сведения см. в разделе "Отладка решений SharePoint".

  2. Выберите клавишу F5, чтобы запустить проект и развернуть его в SharePoint.

  3. В верхней части веб-страницы SharePoint откройте меню "Действия сайта" и выберите "Сайт Параметры".

  4. В разделе "Действия сайта" страницы Параметры сайта выберите ссылку "Управление функциями сайта".

  5. На странице "Компоненты" нажмите кнопку "Активировать" рядом с компонентом FeatureEvtTest Feature1.

  6. На странице "Компоненты" нажмите кнопку "Отключить" рядом с компонентом FeatureEvtTest Feature1, а затем щелкните ссылку "Деактивировать эту функцию", чтобы отключить функцию.

  7. Нажмите кнопку "Главная ".

    Обратите внимание, что объявление отображается в списке объявлений после отключения функции.