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


Введение в события SharePoint Foundation

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

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

Модель событий Microsoft SharePoint Foundation основана на управляемых компонентах, называемых приемниками событий, которые отвечают объектам SharePoint Foundation, когда происходят определенные запускающие события. Приемник события создается путем наследования от одного из базовых классов приемников событий SharePoint. После создания приемника событий нужно реализовать обработчики событий, переопределяя методы класса приемника событий. Затем класс компилируется в сборку и помещается в глобальный кэш сборок, далее нужно связать созданные обработчики событий с узлом события.

Приемник события — это часть управляемого кода, реагирующая на события SharePoint Foundation всякий раз, когда над объектами SharePoint выполняются определенные запускающие действия. К запускающим действиям относятся добавление, перемещение, возвращение, извлечение и т. д. Объекты, ожидающие получения событий, называются узлами событий, и в их число входят, например, семейства веб-сайтов, веб-сайты, списки, рабочие процессы или компоненты.

Почти любой объект SharePoint может создавать события, которые могу перехватываться одним или несколькими классами приемников событий. При классификации события SharePoint полезно сначала подумать об объекте, для которого создается событие (то есть об узле события) — например, о семействе веб-сайтов, списке или элементе списка — а затем о том, является ли событие синхронным или асинхронным. Список объектов SharePoint Foundation, создающих перехватываемые события, см. в разделе Каталог событий SharePoint Foundation.

Модель событий SharePoint Foundation

Модель событий SharePoint Foundation строится на общем наборе компонентов и понятий, которые обобщаются в следующих разделах.

События "до" и "после"

Существует две категории событий — события Before и события After. События "до" создаются при выполнении конкретного действия до того, как SharePoint Foundation выполнит запись в базу данных контента, и поэтому они также называются синхронными событиями. Этот механизм предоставляет SharePoint Foundation возможность выполнять задачи после выполнения конкретного действия, но до записи данных в базу данных. Хорошим примером использования синхронных событий Before является проверка данных, так как события Before происходят до записи данных. События Before (или синхронные события) также можно использовать для отмены действий пользователя — например, если проверка данных заканчивается неудачей.

Код обработчика событий, запускаемого событием Before — то есть обработчика событий Before — выполняется в том же процессе, что и код, выполняющий действие пользователя, запускающее обработчик. По этой причине события Before всегда синхронны. Обратите внимание, что события Before можно узнать по тому, что имена их членов заканчиваются на суффикс "-ing" — например ItemAdding, ListAdding и т. д.

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

Так как события After обрабатываются в процессе, отличном от процесса запускающего действия, они могут выполняться как синхронно, так и асинхронно. События After можно узнать по тому, что имена их членов заканчиваются на суффикс "-ed" — например ItemDeleted, WebProvisioned и т. д.

Узлы событий

Узлы событий — это объекты, такие как семейства веб-сайтов, веб-сайты, списки и элементы списков, ожидающие получения событий, или, другими словами, это объекты, приемники событий которых "слушают" события SharePoint Foundation. В число типов объектов узлов событий SharePoint Foundation 2010 входят экземпляры типичных объектов, таких как SPSite, SPWeb, SPList и SPContentType. У каждого из этих типов узлов событий есть конкретные базовые типы приемников событий, от которых можно выполнять наследование, создавая коллекцию приемников событий.

Полный список типов узлов и соответствующих типов приемников событий см. в разделах Таблица событий, приемников событий и узлов событий SharePoint и Каталог событий SharePoint Foundation.

Приемники событий и обработка событий

Обработчики событий SharePoint Foundation — это компилированный модуль пользовательского управляемого кода, вызов которого запускается конкретным заданным событием. Код обработчика события компилируется в DLL-файл и развертывается в глобальный кэш сборок.

Обработчики событий в SharePoint Foundation обеспечивают исключительную гибкость обработки событий SharePoint на очень детальном уровне.

Сведения о разработке приемника событий с помощью Visual Studio см. в разделе Создание обработчика событий.

Привязка обработчиков событий

Когда созданный код обработчиков событий скомпилирован и развернут в глобальный кэш сборок, его нужно привязать к объекту приемника. Привязка, также называемая термином "регистрация" — это процесс, с помощью которого код обработчика события связывается с типом объекта.

Существует два способа привязки обработчиков событий. Один метод использует декларативную XML-разметку внутри компонента SharePoint либо по типу списка, либо по типу контента. Дополнительные сведения см. в разделе Привязка обработчиков событий с использованием компонентов SharePoint.

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

См. также

Задачи

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

Концепции

Привязка обработчика событий SharePoint Foundation

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

Усовершенствования модели событий в SharePoint Foundation 2010