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:
Edizioni supportate di Microsoft Windows e SharePoint.Per ulteriori informazioni, vedere Requisiti per lo sviluppo di soluzioni SharePoint.
Visual Studio.
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à
Sulla barra dei menu, scegliere File, Nuova, Progetto per visualizzare la finestra di dialogo Nuovo progetto.
Espandere il nodo SharePoint in Visual C# o Visual Basicquindi selezionare il nodo 2010.
Nel riquadro Modelli, scegliere il modello Progetto SharePoint 2010.
Si utilizza questo tipo di progetto per i ricevitori di eventi di funzionalità perché sono prive modello di progetto.
Nella casella Nome, immettere FeatureEvtTest quindi scegliere il pulsante Scegliere OK per visualizzare Personalizzazione guidata SharePoint.
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>/).
Nella sezione Selezionare il livello di attendibilità per la soluzione SharePoint., scegliere il pulsante di opzione Distribuisci come soluzione farm.
Per ulteriori informazioni sulle differenze tra le soluzioni create mediante sandbox e quelle della farm, vedere Considerazioni sulle soluzioni create mediante sandbox.
Scegliere il pulsante Fine quindi noti che una funzionalità denominata funzionalità1 nel nodo Funzionalità.
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à
Aprire il menu di scelta rapida del nodo funzionalità quindi scegliere Aggiungi funzionalità per creare una funzionalità.
Nel nodo Funzionalità, aprire il menu di scelta rapida per Funzionalità1quindi scegliere Aggiungi ricevitore di eventi per aggiungere un ricevitore di eventi alla funzionalità.
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.
Se il progetto è scritto in Visual C#, aggiungere il seguente codice al ricevitore di eventi se non è già presente:
using System;
La classe del ricevitore di eventi sono diversi metodi impostati come commenti che fungono da 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à
Impostare il valore della proprietà Configurazione distribuzione attiva del progetto a 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.
Scegliere la chiave F5 per eseguire il progetto e per distribuirlo in SharePoint.
Nella parte superiore della pagina Web di SharePoint, aprire il menu collochi le azioni quindi scegliere Impostazioni sito.
Nella sezione collochi le azioni della pagina Impostazioni sito, scegliere il collegamento Gestire le funzionalità del sito.
Nella pagina Funzionalità, scegliere il pulsante Attiva accanto alla funzionalità FeatureEvtTest Funzionalità1.
Nella pagina Funzionalità, scegliere il pulsante Disattiva accanto alla funzionalità FeatureEvtTest Funzionalità1 quindi scegliere il collegamento di conferma Disattivare questa funzionalità per disattivare la funzionalità.
Scegliere il pulsante Pagina iniziale.
Notare che dopo la disattivazione della funzionalità, nell'elenco Annunci viene visualizzato un annuncio.
Vedere anche
Attività
Procedura: creare un ricevitore di eventi