Compartir a través de


Introducción a eventos en SharePoint Foundation

Última modificación: miércoles, 07 de abril de 2010

Hace referencia a: SharePoint Foundation 2010

El modelo de eventos de Microsoft SharePoint Foundation se basa en los componentes administrados denominados receptores de eventos que responden a los objetos de SharePoint Foundation cuando se producen eventos desencadenantes específicos. Se crea un receptor de eventos al heredar de una de las clases base de receptores de eventos de SharePoint. Una vez creado el receptor de eventos, implemente controladores de eventos mediante la invalidación de los métodos de la clase del receptor de eventos. A continuación, la clase se compila en un ensamblado y se coloca en la memoria caché global de ensamblados (GAC); luego, enlace los controladores de eventos a un host de eventos.

Un receptor de eventos es un fragmento de código administrado que responde a eventos de SharePoint Foundation cuando se producen acciones desencadenantes específicas en los objetos de SharePoint. Entre estas acciones se encuentran actividades como agregar, mover, proteger, desproteger, etc. Los objetos que esperan recibir los eventos se denominan hosts de eventos, lo que incluye objetos como colecciones de sitios, sitios, listas, flujos de trabajo o características.

Casi cualquier objeto de SharePoint puede provocar eventos que son capturables mediante una o varias de las clases receptores de eventos. Al categorizar un evento de SharePoint, es útil considerar primero el objeto en el que se provoca el evento (es decir, el host de eventos), por ejemplo, en una colección de sitios, una lista o un elemento de lista y, en segundo lugar, si el evento es sincrónico o asincrónico. Para obtener una lista de objetos de SharePoint Foundation que provocan eventos capturables, vea Catálogo de eventos de SharePoint Foundation.

Modelo de eventos de SharePoint Foundation

El modelo de eventos de SharePoint Foundation se basa en un conjunto común de componentes y conceptos, que se resumen en las secciones restantes.

Eventos Before y After

Hay dos categorías de eventos: eventos Before y After. Los eventos Before se generan cuando se produce una acción específica antes de que SharePoint Foundation reescriba en la base de datos de contenido, por lo que también se conocen como eventos sincrónicos. Esto permite a SharePoint Foundation realizar tareas después de una acción específica, pero antes de que los datos se confirmen en la base de datos. Un ejemplo claro del uso de eventos Before sincrónicos es la validación de datos, ya que los eventos Before se generan antes de que los datos sean confirmados. También puede usar eventos Before (o sincrónicos) para cancelar las acciones del usuario, por ejemplo, si la validación genera un error.

El código de control de eventos que desencadena un evento Before (es decir, un controlador de eventos Before) se ejecuta en el mismo proceso que el código que ejecuta la acción del usuario que lo desencadenó. Por este motivo, los eventos Before siempre son sincrónicos. Tenga en cuenta que puede identificar los eventos Before porque los nombres de los miembros terminan con el sufijo "-ing", por ejemplo, ItemAdding, ListAdding, etc.

Los eventos After, por otro lado, desencadenan los controladores de eventos que se ejecutan después de que las acciones del usuario se confirman en la base de datos e invocan código que se ejecuta después de la modificación de la base de datos. Esto proporciona la oportunidad de desarrollar código que ejecute la lógica que se produce después de que un usuario complete una acción específica.

Debido a que los eventos After se ejecutan en un proceso diferente de la acción desencadenante, se pueden ejecutar de forma sincrónica o asincrónica. Puede identificar los eventos After porque los nombres de sus miembros terminan con el sufijo "-ed", por ejemplo, ItemDeleted, WebProvisioned, etc.

Hosts de eventos

Los hosts de eventos son objetos, como las colecciones de sitios, los sitios web, las listas y los elementos de lista, que esperan recibir eventos (o, en otras palabras, son los objetos cuyos receptores de eventos "escuchan" los eventos de SharePoint Foundation. Estos tipos de objeto de host de eventos de SharePoint Foundation 2010 incluyen instancias de objetos comunes como SPSite, SPWeb, SPList y SPContentType. Cada uno de los tipos de host de eventos tiene tipos base de receptores de eventos específicos de los cuales se puede heredar para crear una colección de receptores de eventos.

Para obtener una lista completa de tipos de host y sus tipos de receptores de eventos, vea Tabla de eventos de SharePoint, receptores de eventos y hosts de evento y Catálogo de eventos de SharePoint Foundation.

Receptores de eventos y control de eventos

Los controladores de eventos de SharePoint Foundation son un módulo compilado de código administrado personalizado cuya invocación es desencadenada por un evento especificado por usted. El código del controlador de eventos se compila en un archivo .dll e implementado en la memoria global de ensamblados.

Los controladores de eventos de SharePoint Foundation proporcionan una flexibilidad excepcional para el control de eventos de SharePoint a un nivel muy detallado.

Para obtener información sobre el desarrollo de un receptor de eventos mediante el uso de Visual Studio, vea Creación de un controlador de eventos.

Enlace de controladores de eventos

Después de que el código del controlador de eventos se compila e implementa en la memoria caché global de ensamblados, deberá enlazarlo a un objeto receptor. También conocido por el término "registrar", el enlace es el proceso por el cual el código del controlador de eventos se asocia con un tipo de objeto.

Hay dos formas de enlazar controladores de eventos. Un método utiliza XML declarativo en una característica de SharePoint por tipo de lista o tipo de contenido. Para obtener más información, vea Enlace de controladores de eventos mediante el archivo Features.xml de SharePoint.

El otro método consiste en implementar el enlace del controlador de eventos mediante la escritura de código que implemente las clases en el modelo de objetos de SharePoint. Para obtener más información, vea Enlace de un controlador de eventos mediante el modelo de objetos de SharePoint.

Vea también

Tareas

Procedimiento para crear una característica de controlador de eventos

Conceptos

Enlace de un controlador de eventos de SharePoint Foundation

Creación de un controlador de eventos

Mejoras en el modelo de eventos para SharePoint Foundation 2010