Condividi tramite


Procedura dettagliata: aggiungere ricevitori di eventi di funzionalità

I ricevitori di eventi di funzionalità sono i metodi che vengono eseguiti quando, in SharePoint, si verifica uno dei seguenti eventi correlati alle funzionalità:

  • Installazione di una funzionalità.

  • Attivazione di una funzionalità.

  • Disattivazione di una funzionalità.

  • Rimozione di una funzionalità.

In questa procedura dettagliata viene illustrato come aggiungere un ricevitore di eventi a una funzionalità in un progetto SharePoint. Vengono illustrate le seguenti attività:

  • Creazione di un progetto vuoto con un ricevitore di eventi di funzionalità.

  • Gestione del metodo FeatureDeactivating.

  • Utilizzo del modello a oggetti del progetto SharePoint per aggiungere un annuncio al relativo elenco.

Nota

Nel computer in uso è possibile che vengano visualizzati nomi o percorsi diversi per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per ulteriori informazioni vedere Impostazioni di Visual Studio.

Prerequisiti

Per completare la procedura dettagliata, è necessario disporre dei componenti seguenti:

Creazione di un progetto con ricevitore di eventi di funzionalità

Creare un progetto in cui possa essere incluso il ricevitore di eventi di funzionalità.

Per creare un progetto con un ricevitore di eventi di funzionalità

  1. Visualizzare la finestra di dialogo Nuovo progetto selezionando Nuovo nel menu File, quindi facendo clic su Nuovo progetto.

  2. Espandere il nodo SharePoint sotto Visual C# o Visual Basic, quindi fare clic su 2010.

  3. Nel riquadro Modelli selezionare Progetto vuoto.

    Questo tipo di progetto è per i ricevitori di eventi di funzionalità poiché non dispongono di alcun modello di progetto.

  4. Nella casella Nome digitare FeatureEvtTest, quindi fare clic su OK per visualizzare la Personalizzazione guidata SharePoint.

  5. Nella pagina Specificare il sito e il livello di sicurezza per il debug immettere l'URL per il sito del server SharePoint a cui si desidera aggiungere il nuovo elemento del campo personalizzato o utilizzare il percorso predefinito (http://<system name>/).

  6. Nella sezione Selezionare il livello di attendibilità per la soluzione SharePoint fare clic su Distribuisci come soluzione farm, quindi scegliere Fine.

    Per ulteriori informazioni sulle differenze tra le soluzioni create mediante sandbox e quelle della farm, vedere Considerazioni sulle soluzioni create mediante sandbox.

Aggiunta di un ricevitore di eventi alla funzionalità.

Aggiungere un ricevitore di eventi alla funzionalità e aggiungere codice che viene eseguito quando la funzionalità è disattivata.

Per aggiungere un ricevitore di eventi alla funzionalità

  1. Creare una funzionalità facendo clic con il pulsante destro del mouse sul nodo Funzionalità e selezionando Aggiungi funzionalità.

    Notare che sotto il nodo Funzionalità viene visualizzata una funzionalità denominata Funzionalità1.

  2. Aggiungere un ricevitore di eventi alla funzionalità facendo clic con il pulsante destro del mouse su Funzionalità1 nel nodo Funzionalità e selezionando Aggiungi ricevitore di eventi.

    Questa operazione consente di aggiungere un file di codice sotto Funzionalità1. In questo caso, viene denominato Feature1.EventReceiver.cs o Feature1.EventReceiver.vb, a seconda del linguaggio di sviluppo del progetto.

  3. Nella classe del ricevitore di eventi sono presenti quattro metodi impostati come commenti che vengono utilizzati come eventi. Sostituire il metodo FeatureDeactivating con quanto riportato di seguito:

    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());
        }
    
    }
    

Test del ricevitore di eventi di funzionalità

Disattivare la funzionalità per testare se attraverso il metodo FeatureDeactivating viene generato un annuncio nell'elenco Annunci di SharePoint.

Per testare il ricevitore di eventi di funzionalità

  1. Impostare la proprietà Configurazione distribuzione attiva del progetto su Nessuna attivazione.

    L'impostazione di questa proprietà impedisce l'attivazione della funzionalità in SharePoint e consente di eseguire il debug dei ricevitori di eventi di funzionalità. Per ulteriori informazioni, vedere Debug di soluzioni SharePoint.

  2. Premere F5 per eseguire e distribuire il progetto in SharePoint.

  3. Nella parte superiore della pagina Web di SharePoint fare clic sul pulsante Azioni sito, quindi scegliere Impostazioni sito.

  4. Nella sezione Azioni sito della pagina Impostazioni sito fare clic sul collegamento Gestisci caratteristiche sito.

  5. Nella pagina Funzionalità sito fare clic sul pulsante Attiva accanto alla funzionalità FeatureEvtTest Feature1.

  6. Nella pagina Funzionalità sito fare clic sul pulsante Disattiva accanto alla funzionalità FeatureEvtTest Feature1. Scegliere il collegamento di conferma per disattivare la funzionalità.

  7. Fare clic sul collegamento Annunci sulla barra di spostamento.

    Notare che dopo la disattivazione della funzionalità, nell'elenco Annunci viene visualizzato un annuncio.

Vedere anche

Attività

Procedura: creare un ricevitore di eventi

Altre risorse

Sviluppo di soluzioni SharePoint