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


Привязка обработчиков событий с использованием компонентов SharePoint

Дата последнего изменения: 9 апреля 2010 г.

Применимо к: SharePoint Foundation 2010

В Microsoft SharePoint Foundation 2010 можно определять обработчики событий для конкретных типов контента, используя компоненты SharePoint. Например, можно определить тип контента «Клиент» и включить метаданные для соответствующего обработчика событий в определение поведения клиента.

Использование компонентов SharePoint

Типы контента определяются с использованием компонентов SharePoint. При определении типа контента с помощью компонента создаются следующие два XML-файла.

  • Feature.xml   Этот XML-файл используется для определения метаданных для нового компонента. В следующем примере кода устанавливается область действия компонента на уровне сайта и определяется уникальный идентификатор нового компонента. Затем в нем с помощью элемента ElementManifests указывается расположение второго XML-файла, где хранятся все подробные данные о самом компоненте.

    <?xml version="1.0" encoding="utf-8"?>
    <Feature Scope="Web" 
      Title="Simple Event Handler Registration" 
      Id="A6B8687A-3200-4b01-AD76-09E8D163FB9A" 
      xmlns="https://schemas.microsoft.com/sharepoint/">
      <ElementManifests>
        <ElementManifest Location="elements.xml"/>
      </ElementManifests>
    </Feature>
    
  • Elements.xml   Этот файл используется для определения сборки, в которую инкапсулируется обработчик событий, сам класс, а также порядковый номер, если с компонентом связано несколько обработчиков событий. В следующем примере показано, как привязать приемник событий, реагирующий на события удаления и добавления элементов списка.

    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="https://schemas.microsoft.com/sharepoint/">
      <Receivers ListTemplateId="104">
        <Receiver>
          <Name>MyEventHandlers</Name>
          <Type>ItemDeleting</Type>
          <SequenceNumber>10000</SequenceNumber>
          <Assembly>MyEventHandlers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=4358f2a5344ff0dc</Assembly>
          <Class>MyEventHandlers.SimpleEventHandler</Class>
          <Data></Data>
          <Filter></Filter>
        </Receiver>
        <Receiver>
          <Name>MyEventHandlers</Name>
          <Type>ItemAdded</Type>
          <SequenceNumber>10000</SequenceNumber>
          <Assembly>MyEventHandlers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=4358f2a5344ff0dc</Assembly>
          <Class>MyEventHandlers.SimpleEventHandler</Class>
          <Data></Data>
          <Filter></Filter>
        </Receiver>
      </Receivers>
    </Elements>
    

О типах контента

Типы контента — это повторно используемые стандартные блоки в хранилище данных SharePoint Foundation. В XML-определение типа контента часто входит один или несколько приемников событий. Если тип контента привязан, например, к конечному списку, содержащиеся в типе контента приемники событий регистрируются в этом списке (привязываются к нему).

Предупреждающая заметкаВнимание!

В терминологии, относящейся к событиям и приемникам событий, понятия «регистрация» и «привязка» считаются взаимозаменяемыми. В данной документации обычно говорится о «привязке» приемников событий, но иногда может упоминаться и «регистрация» приемников событий. Оба термина означают одно и то же.

В Windows SharePoint Services 3.0 вводится понятие типов контента в хранилище данных. Если вкратце, типы контента реализуют концепцию повторного использования. С помощью типов контента можно создавать классы объектов с конкретными определениями и, возможно, соответствующим поведением, включая имя типа, поля, формат, бизнес-процессы, правила хранения, аудит и обработку событий.

Для поддержки нескольких типов контента можно также активировать списки и библиотеки SharePoint. При этом можно прикрепить к списку или библиотеке один или несколько таких классов, тем самым расширяя функциональный диапазон и поведение списка (библиотеки). Например, тип контента «Контакт» позволяет расширить список клиентов. Он дополняет список рядом новых полей, таких как «Имя контакта», «Функция», «Телефон» и др., а также новыми параметрами поведения.

Если требуется привязать обработчик событий к определенному списку или библиотеке, либо к определенному набору списков или библиотек, обычно это делается на уровне компонента. Однако можно также использовать свойство EventReceivers самого объекта (например, свойство EventReceivers или EventReceivers соответственно для типа контента и списка).

В отношении списков и библиотек компоненты реализуют атомарную концепцию SharePoint Foundation, в которой конкретные разделы кода CAML, ранее сосредоточенные в одном файле (Schema.xml или Onet.xml), теперь изолируются друг от друга, т. е. могут повторно использоваться в разных местах. Теперь с помощью компонента SharePoint можно создавать структуру и определять поля списка.

Что касается привязки обработчика событий, концепцию компонента можно использовать для привязки сборки к одному конкретному списку или библиотеке (указывая GUID списка или библиотеки) либо к определенному типу списков или библиотек (например, ко всем библиотекам документов или ко всем библиотекам форм). Компонент определяется путем создания тех же двух XML-файлов (Feature.xml и Element.xml), которые описаны в разделе Привязка обработчика событий SharePoint Foundation.

См. также

Задачи

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

Концепции

Использование компонентов

Регистрации событий

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

Использование компонентов

Проверка безопасности и отправка данных для обновления

Несанкционированное получение прав

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

Типы контента