Compartir a través de


Receptor de eventos de característica

Especifica una rutina de código de servidor a la que se llama como parte de cuatro eventos clave en el periodo de duración de una función: instalación, activación, desactivación y eliminación.

Ejemplo real

Un desarrollador que crea una función determina que ésta debe realizar algunas llamadas al modelo de objeto cuando se activa, y realizar cierta limpieza cuando se desactiva. Crea una clase de receptor de eventos de función personalizada e incluye una referencia a la misma en la definición de la función.

Detalles técnicos

Los receptores de sucesos de funciones se compilan en ensamblados asociados con la definición de una función. Si hay un receptor de funciones asociado con esa función, cuando la función pasa por uno de los cuatro eventos de su ciclo de vida se le llama con información adicional relacionada con el ámbito y el destino del evento.

En el siguiente ejemplo de código feature.xml se muestra cómo se registra el receptor de funciones como parte de la definición de la función:

<Feature   Id="39FA56C4-7A47-44F5-83CC-01B5E777F436" Title="Feature with Receiver Callback" Scope="Web" ReceiverAssembly="SimpleReceiver, Version=1.0.0.0, Culture=neutral, PublicKeyToken=207e2bf263eeeff6, processorArchitecture=MSIL" ReceiverClass="MS.Samples.SharePoint.SimpleProvisioner" xmlns="https://schemas.microsoft.com/sharepoint/" />

Puede utilizar receptores de eventos de función para llevar a cabo rutinas adicionales de configuración o limpieza que el proceso de activación y desactivación de la función principal no puede realizar, como eliminar archivos que la función instala en un sitio.

Detalles de soporte

Dado que un receptor de sucesos de función se puede llamar siempre que se activa o desactiva la función, puede producirse un retraso asociado al evento. En función de la cantidad de código del receptor de sucesos de función, esto podría causar un retraso significativo si una nueva función se agrega o quita de muchas ubicaciones al mismo tiempo (por ejemplo, activar una función en todos los sitios web de un entorno SharePoint de gran tamaño).