Partager via


Procédure pas à pas : ajout de récepteurs d'événements de fonctionnalité

Les récepteurs d'événements de fonctionnalité sont des méthodes prévues pour s'exécuter lorsque l'un des événements suivants ayant trait aux fonctionnalités se produit dans SharePoint :

  • Installation d'une fonctionnalité.

  • Activation d'une fonctionnalité.

  • Désactivation d'une fonctionnalité.

  • Suppression d'une fonctionnalité.

Cette procédure pas à pas montre comment ajouter un récepteur d'événements à une fonctionnalité dans un projet SharePoint. Elle prend en compte les tâches suivantes :

  • Création d'un projet vide avec un récepteur d'événements de fonctionnalité.

  • Gestion de la méthode FeatureDeactivating.

  • Utilisation du modèle d'objet du projet SharePoint pour ajouter une annonce à la liste Annonces.

Notes

Il est possible que votre ordinateur affiche des noms ou des emplacements différents pour certains des éléments d'interface utilisateur de Visual Studio dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d'informations, consultez Paramètres Visual Studio.

Composants requis

Pour exécuter cette procédure pas à pas, vous devez disposer des composants suivants :

Création d'un projet pour un récepteur d'événements de fonctionnalité

Commencez par créer un projet destiné à contenir le récepteur d'événements de fonctionnalité.

Pour créer un projet avec un récepteur d'événements de fonctionnalité

  1. Dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Nouveau projet pour ouvrir la boîte de dialogue Nouveau projet.

  2. Développez le nœud SharePoint sous Visual C# ou Visual Basic, puis cliquez sur 2010.

  3. Dans le volet Modèles, sélectionnez Projet vide.

    Ce type de projet est destiné aux récepteurs d'événements de fonctionnalité, car il n'existe pas de modèle de projet pour eux.

  4. Dans la zone Nom, tapez TestÉvénementFonctionnalité, puis cliquez sur OK pour afficher l'Assistant Personnalisation de SharePoint.

  5. Dans la page Spécifier le site et le niveau de sécurité pour le débogage, entrez l'URL du site de serveur SharePoint auquel vous souhaitez ajouter le nouvel élément de champ personnalisé ou utilisez l'emplacement par défaut (http://<system name).

  6. Dans la section Quel est le niveau de confiance de cette solution SharePoint ?, cliquez sur Déployer en tant que solution de batterie, puis sur Terminer.

    Pour plus d'informations sur les différences entre les solutions bac à sable (sandbox) et les solutions de batterie, consultez Considérations sur les solutions bac à sable (sandbox).

Ajout d'un récepteur d'événements à la fonctionnalité

Il convient maintenant d'ajouter un récepteur d'événements à la fonctionnalité et de prévoir le code à exécuter en cas de désactivation de la fonctionnalité.

Pour ajouter un récepteur d'événements à la fonctionnalité

  1. Créez une fonctionnalité en cliquant avec le bouton droit sur le nœud Fonctionnalités et en choisissant Ajouter une fonctionnalité.

    Notez la présence de la fonctionnalité intitulée Feature1 sous le nœud Fonctionnalités.

  2. Ajoutez un récepteur d'événements à la fonctionnalité en cliquant avec le bouton droit sur Feature1 dans le nœud Fonctionnalités, puis en choisissant Ajouter un récepteur d'événements.

    Cela permet d'insérer un fichier de code sous Feature1. Dans le cas présent, il est nommé Feature1.EventReceiver.cs ou Feature1.EventReceiver.vb, selon le langage de développement de votre projet.

  3. La classe de récepteur d'événements contient quatre méthodes commentées se comportant comme des événements. Remplacez la méthode FeatureDeactivating par la méthode suivante :

    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 du récepteur d'événements de la fonctionnalité

Veuillez à présent désactiver la fonctionnalité pour tester si la méthode FeatureDeactivating produit une annonce dans la liste des annonces SharePoint.

Pour tester le récepteur d'événements de la fonctionnalité

  1. Affectez à la propriété Configuration de déploiement active du projet la valeur Aucune activation.

    Cela empêche l'activation de la fonctionnalité dans SharePoint et vous permet de déboguer les récepteurs d'événements de la fonctionnalité. Pour plus d'informations, consultez Débogage de solutions SharePoint.

  2. Appuyez sur F5 pour exécuter le projet et le déployer sur SharePoint.

  3. En haut de la page Web SharePoint, cliquez sur le bouton Actions du site, puis cliquez sur Paramètres du site.

  4. Dans la section Actions du site de la page Paramètres du site, cliquez sur le lien Gérer les fonctionnalités du site.

  5. Dans la page Fonctionnalités du site, cliquez sur le bouton Activer en regard de la fonctionnalité TestÉvénementFonctionnalité Feature1.

  6. Dans la page Fonctionnalités du site, cliquez sur le bouton Désactiver en regard de la fonctionnalité TestÉvénementFonctionnalité Feature1. Cliquez sur le lien de confirmation pour désactiver la fonctionnalité.

  7. Cliquez sur le lien Annonces dans la barre de navigation.

    Notez la présence d'une annonce dans la liste Annonces une fois la fonctionnalité désactivée.

Voir aussi

Tâches

Comment : créer un récepteur d'événements

Autres ressources

Développement de solutions SharePoint