Новые функции привязки событий в SharePoint Foundation 2010
Дата последнего изменения: 8 апреля 2010 г.
Применимо к: SharePoint Foundation 2010
В этой статье
Привязка на уровне SPSite
Привязка приемника событий XML
Привязка с помощью шаблона списка
Microsoft SharePoint Foundation 2010 расширяет диапазон и средства, с использованием которых может выполняться привязка событий. Среди нововведений имеется возможность привязки событий в области семейства сайтов (SPSite), а также обеспечение привязки приемников событий XML, расположенных на отдельном сайте (SPWeb).
Привязка на уровне SPSite
В целях поддержки расширенной функциональности по созданию сайтов и списков SharePoint Foundation 2010 поддерживает коллекцию приемников событий уровня SPSite. Аналогично другим коллекциям приемников событий, эта коллекция принимает привязки от объектов SPWebEventReceiver, SPListEventReceiver и SPItemEventReceiver. Все эти типы событий могут быть объединены в области на уровне семейства сайтов (т. е. SPSite). Однако объект SPEmailEventReceiver не работает на уровне семейства сайтов вследствие способа реализации этого объекта.
Привязка приемника событий XML
SharePoint Foundation 2010 поддерживает привязку приемников событий XML как в области экземпляра SPWeb, так и в области экземпляра SPSite с помощью тега <Receivers>.
Когда компонент SharePoint расположен в области на уровне семейства сайтов, тег <Receivers> является потенциально неоднозначным. Этот тег может указывать либо привязку событий на уровне сайта, либо привязку событий для сайта верхнего уровня. Однако следует отметить, что поведением default является расположение в области на уровне сайта.
Таким образом, при расположении компонента в области на уровне семейства сайтов следует с помощью атрибута с именем Scope указать соответствующую область. При установке этого атрибута в значение "Site" приемники событий, заданные внутри компонента, расположенного в области на уровне семейства сайтов, затем привязываются на уровне коллекции сайтов. Если этот атрибут установлен в значение "Web", приемники событий, заданные для компонента семейства сайтов, привязываются на корневом веб-сайте этого семейства сайтов.
Привязка с помощью шаблона списка
SharePoint Foundation 2010 поддерживает привязку на основе приемника событий SPItemEventReceiver с помощью семантики свойства ListTemplateId. Такой подход создает определение приемника событий в области списка при создании списка.
Один из практических результатов этой функции состоит в том, что можно указать привязку в XML на основе компонента, как показано в следующем примере.
<Receivers ListTemplateId="301">
<Receiver>
<Name>Blog post event handler for new trackbacks</Name>
<Type>ItemAdded</Type>
<SequenceNumber>1000</SequenceNumber>
<Assembly>Trackback, Version=1.0.0.0, Culture=neutral, PublicKeyToken=64e9de3efe88d9da</Assembly>
<Class>Trackback.TrackbackEventsReceiver</Class>
<Data>Property Logger</Data>
</Receiver>
</Receivers>
В приведенном выше коде XML регистрируется класс с именем TrackbackEventsReceiver, который является производным от класса SPItemEventReceiver. TrackbackEventsReceiver реализует метод ItemAdded(SPItemEventProperties) для всех списков с идентификатором шаблона "301" при их создании или для существующих списков, когда активируется соответствующий компонент.
SharePoint Foundation 2010 также поддерживает привязку на основе объекта SPItemEventReceiver в XML указанного типа контента.