Share via


Tutorial: Agregar receptores de eventos de características

Los receptores de eventos de características son métodos que se ejecutan cuando se produce uno de los eventos relacionados con las características siguientes en SharePoint:

  • Se instala una característica.

  • Se activa una característica.

  • Se desactiva una característica.

  • Se quita una característica.

En este tutorial se muestra cómo agregar un receptor de eventos a una característica en un proyecto SharePoint. También se muestran las siguientes tareas:

  • Crear un proyecto vacío con un receptor de eventos de característica.

  • Controlar el método FeatureDeactivating.

  • Utilizar el modelo de objetos de proyecto de SharePoint para agregar un anuncio a la lista Anuncios.

Nota

Es posible que su equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio incluidos en las instrucciones siguientes. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para obtener más información, vea Valores de configuración de Visual Studio.

Requisitos previos

Necesita los componentes siguientes para completar este tutorial:

Crear un proyecto de receptor de eventos de característica

Primero, cree un proyecto para el receptor de eventos de característica.

Para crear un proyecto con un receptor de eventos de característica

  1. Muestre el cuadro de diálogo Nuevo proyecto apuntando a Nuevo en el menú Archivo y haciendo clic en Nuevo proyecto.

  2. Expanda el nodo SharePoint bajo Visual C# o bajo Visual Basic y, a continuación, haga clic en 2010.

  3. En el panel Plantillas, seleccione Proyecto vacío.

    Este tipo de proyecto es para receptores de eventos de características porque no hay plantillas de proyecto para ellos.

  4. En el cuadro Nombre, escriba FeatureEvtTest y, a continuación, haga clic en Aceptar para mostrar el Asistente para la personalización de SharePoint.

  5. En la página Especifique el sitio y el nivel de seguridad de la depuración, escriba la dirección URL para el sitio de servidor de SharePoint al que desea agregar el nuevo elemento de campo personalizado o utilice la ubicación predeterminada (http://<system name>/).

  6. En la sección ¿Cuál es el nivel de confianza de esta solución de SharePoint?, haga clic en Implementar como solución de granja de servidores y, a continuación, haga clic en Finalizar.

    Para obtener más información sobre soluciones de granja y soluciones en espacio aislado, vea Consideraciones sobre las soluciones en espacio aislado.

Agregar un receptor de eventos a la característica

A continuación agregue un receptor de eventos a la característica y agregue el código que ejecuta cuando la característica está desactivada.

Para agregar un receptor de eventos a la característica

  1. Cree una característica haciendo clic con el botón secundario en el nodo Características y seleccionando Agregar característica.

    Observe que una característica denominada Característica1 aparece bajo el nodo Características.

  2. Agregue un receptor de eventos a la característica haciendo clic con el botón secundario en Característica1 en el nodo Características y seleccionando Agregar receptor de eventos.

    Esto agrega un archivo de código bajo Característica1. En este caso, se denomina Feature1.EventReceiver.cs o Feature1.EventReceiver.vb, dependiendo del lenguaje de desarrollo de su proyecto.

  3. La clase del receptor de eventos contiene cuatro métodos comentados que actúan como eventos. Reemplace el método FeatureDeactivating por el siguiente método:

    Public Overrides Sub FeatureDeactivating(ByVal properties As SPFeatureReceiverProperties)
        Try
            ' Get reference to SharePoint site.
            Dim site As SPSite = New SPSite("https://localhost")
            Dim web As SPWeb = site.OpenWeb("/")
            ' Get reference to Announcements list.
            Dim announcementsList As SPList = web.Lists("Announcements")
            ' Add new announcement to Announcements list.
            Dim oListItem As SPListItem = announcementsList.Items.Add
            oListItem("Title") = ("Deactivated Feature: " + properties.Definition.DisplayName)
            oListItem("Body") = (properties.Definition.DisplayName + (" was deactivated on: " + DateTime.Now.ToString))
            oListItem.Update()
        Catch e As Exception
            Console.WriteLine(("Error: " + e.ToString))
        End Try
    End Sub
    
    public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
    {
        try
        {
            // Get reference to SharePoint site.
            SPSite site = new SPSite("https://localhost");
            SPWeb web = site.OpenWeb("/");
            // Get reference to Announcements list.
            SPList announcementsList = web.Lists["Announcements"];
    
            // Add new announcement to Announcements list.
            SPListItem oListItem = announcementsList.Items.Add();
            oListItem["Title"] = "Deactivated Feature: " + properties.Definition.DisplayName;
            oListItem["Body"] = properties.Definition.DisplayName + " was deactivated on: " + DateTime.Now.ToString();
            oListItem.Update();
    
        }
    
        catch (Exception e)
        {
            Console.WriteLine("Error: " + e.ToString());
        }
    
    }
    

Probar el receptor de eventos de característica

A continuación, desactive la característica para comprobar si el método FeatureDeactivating genera un anuncio en la lista de anuncios de SharePoint.

Para probar el receptor de eventos de característica

  1. Establezca la propiedad Configuración de implementación activa del proyecto en Ninguna activación.

    Estableciendo esta propiedad se evita que la característica se active en SharePoint y le permite depurar los receptores de eventos de características. Para obtener más información, vea Depurar soluciones de SharePoint.

  2. Presione F5 para ejecutar el proyecto e implementarlo en SharePoint.

  3. En la parte superior de la página web de SharePoint, haga clic en el botón Acciones del sitio y, a continuación, haga clic en Configuración del sitio.

  4. Bajo la sección Acciones del sitio de la página Configuración del sitio, haga clic en el vínculo Administrar características del sitio.

  5. En la página Características del sitio, haga clic en el botón Activar situado al lado de la característica FeatureEvtTest Feature1.

  6. En la página Características del sitio, haga clic en el botón Desactivar situado al lado de la característica FeatureEvtTest Feature1. Haga clic en el vínculo de confirmación para desactivar la característica.

  7. Haga clic en el vínculo Anuncios en la barra de navegación.

    Observe que aparece un anuncio en la lista Anuncios una vez desactivada la característica.

Vea también

Tareas

Cómo: Crear un receptor de eventos

Otros recursos

Desarrollar soluciones de SharePoint