Compartir a través de


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. En la barra de menú, elija Archivo, Nuevo, Proyecto para mostrar el cuadro de diálogo de Nuevo proyecto .

  2. Expanda el nodo de SharePoint en Visual C# o Visual Basicy, a continuación el nodo de 2010 .

  3. En el panel de Plantillas , elija la plantilla de Proyecto de SharePoint 2010 .

    Utilice este tipo de proyecto para los receptores de eventos de característica porque no tienen ninguna plantilla de proyecto.

  4. En el cuadro de Nombre , entre en FeatureEvtTest, y elija el botón de Aceptar para mostrar 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 de Cuál es el nivel de confianza de esta solución de SharePoint? , elija el botón de opción de Implementar como solución de granja de servidores .

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

  7. Elija el botón de Finalizar , y después observe que una característica denominada Característica1 aparece bajo el nodo de Características .

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. Abrir el menú contextual para el nodo características y, a continuación agregue la característica para crear una característica.

  2. Bajo el nodo de Características , abra el menú contextual para Característica1y, a continuación Agregue al receptor de eventos para agregar un receptor de eventos a la característica.

    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. Si el proyecto se escribe en Visual C#, agregue el código siguiente al principio del receptor de eventos si aún no está ahí:

    using System;
    
  4. La clase del receptor de eventos contiene varios métodos comentados - out 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 el valor de la propiedad de Configuración de implementación activa a Sin 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. Elija la clave de F5 para ejecutar el proyecto e implementarlo en SharePoint.

  3. En la parte superior de la página Web de SharePoint, abra el menú de Busque las acciones y, a continuación Configuración del sitio.

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

  5. En la página de Características , elija el botón de Activar junto a la característica de FeatureEvtTest Característica1 .

  6. En la página de Características , elija el botón de Desactivar junto a la característica de FeatureEvtTest Característica1 , y elija el vínculo de confirmación de desactivar esta característica para desactivar la característica.

  7. Elija el botón de Inicio .

    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