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


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

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

  • установка компонента;

  • включение компонента;

  • отключение компонента;

  • удаление компонента.

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

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

  • Работа с методом FeatureDeactivating.

  • Добавление объявлений в список Announcements с помощью объектной модели проекта SharePoint.

ПримечаниеПримечание

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

Обязательные компоненты

Ниже приведены компоненты, необходимые для выполнения данного пошагового руководства.

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

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

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

  1. В строке меню выберите Файл, Создать, Проект для отображения диалогового окна Создать проект.

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

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

    Использовать этот тип проекта для приемников событий компонента, поскольку они не имеют шаблон проекта.

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

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

  6. В разделе Какова степень доверия для этого решения SharePoint? выберите переключатель Развернуть как решение фермы.

    Дополнительные сведения о сравнительных особенностях обезвреженных решений и решений фермы см. в разделе Замечания об обезвреженных решениях.

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

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

Теперь добавьте в компонент приемник событий и добавьте код, выполняемый при отключении этого компонента.

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

  1. Открыть контекстное меню для узла функций, а затем выберите *** добавьте функция *** create function.

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

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

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

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

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

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

    Это предотвратит активацию компонента в SharePoint и позволит выполнить отладку приемников событий компонентов.Дополнительные сведения см. в разделе Отладка решений SharePoint.

  2. Выберите ключ F5 для запуска проекта и его развертывания на сервере SharePoint.

  3. В верхней части страницы SharePoint, откройте меню *** Поместите действия ***, а затем выберите Параметры сайта.

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

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

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

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

    Обратите внимание, что после отключения компонента появилось объявление в списке Announcements.

См. также

Задачи

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

Другие ресурсы

Разработка решений SharePoint