Procédure : créer et déployer des récepteurs de fonctionnalité dans des solutions bac à sable (bac à sable)
Dernière modification : jeudi 14 avril 2011
S’applique à : SharePoint Foundation 2010
Disponible dans SharePoint Online
Cette rubrique explique comment créer et déployer un récepteur de fonctionnalité dans une solution en bac à sable (sandbox).
Pour créer le récepteur de fonctionnalité
Dans Microsoft Visual Studio, démarrez un Projet SharePoint vide. Lorsque vous y êtes invité, choisissez d’en faire une solution en bac à sable (sandbox).
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le dossier Fonctionnalités, puis sélectionnez Ajouter une fonctionnalité.
Cliquez avec le bouton droit sur la fonctionnalité, puis sélectionnez Ajouter un récepteur d’événements.
Ouvrez le fichier .cs ou .vb qui a été créé à l’étape précédente.
Supprimez les marques de commentaire et remplacez les gestionnaires d’événements dans le fichier selon les besoins à l’aide de votre logique de gestion des événements. En règle générale, si vous remplacez le gestionnaire FeatureActivated, vous devez également remplacer le gestionnaire FeatureDeactivating pour annuler les actions de votre code dans le gestionnaire FeatureActivated. De même, si vous remplacez le gestionnaire FeatureInstalled, vous devez également remplacer le gestionnaire FeatureUninstalling pour annuler les actions de votre code dans le gestionnaire FeatureInstalled.
Important
Votre code doit se conformer aux restrictions imposées au code qui s’exécute dans une solution en bac à sable (sandbox). Il s’agit de la seule différence entre un récepteur de fonctionnalité dans une solution de batterie de serveurs et un récepteur de fonctionnalité dans une solution en bac à sable (sandbox). Par exemple, votre code ne peut ni accéder au système de fichiers des serveurs de batterie, ni accéder à des éléments situés en dehors de la collection de sites dans laquelle le code s’exécute.
Par exemple, le remplacement suivant de FeatureActivated ajoute une chaîne au titre du site Web racine de la collection de sites conteneur. Et le remplacement de FeatureDeactivating annule cette modification.
public override void FeatureActivated(SPFeatureReceiverProperties properties) { SPWeb website = (SPWeb)properties.Feature.Parent; SPSite siteCollection = website.Site; siteCollection.RootWeb.Title = siteCollection.RootWeb.Title + " with Ketchup!"; siteCollection.RootWeb.Update(); } public override void FeatureDeactivating(SPFeatureReceiverProperties properties) { SPWeb website = (SPWeb)properties.Feature.Parent; SPSite siteCollection = website.Site; siteCollection.RootWeb.Title = siteCollection.RootWeb.Title.Replace(" with Ketchup!", string.Empty); siteCollection.RootWeb.Update(); }
Générez, empaquetez et déployez le code dans votre installation SharePoint de développement. Une fois le test et le débogage terminés, mettez le package de la solution en bac à sable (sandbox) (fichier .wsp) à la disposition des administrateurs de collection de sites.
Déploiement de la solution bac à sable (sandbox)
Un administrateur de collection de sites peut installer une solution en bac à sable (sandbox) dans la galerie de solutions de la collection de sites. Ce processus compte deux étapes. Tout d’abord, le package de solution doit être téléchargé dans la galerie. Ensuite, il est déployé ; on parle dans ce cas d’activation pour les solutions en bac à sable (sandbox). La deuxième étape active automatiquement toutes les fonctionnalités du package. Si des validateurs de solution sont inscrits auprès de la collection de sites, ils s’exécutent également lors de l’étape d’activation. Si la solution est validée et qu’elle n’est pas bloquée par un administrateur de batterie, elle peut alors être utilisée dans la collection de sites.
Voir aussi
Concepts
Qu'est-ce qui peut être implémenté dans une solution en bac à sable (sandbox) ?
Restrictions imposées aux solutions en bac à sable (sandbox)