Привязка обработчиков событий с использованием компонентов 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.
См. также
Задачи
Создание компонента обработчика событий
Концепции
Пример. Создание обработчика событий элемента списка
Проверка безопасности и отправка данных для обновления
Несанкционированное получение прав