Comment : exécuter une commande SharePoint
Si vous souhaitez appliquer le modèle d'objet serveur à une extension d'outils SharePoint, vous devez créer une commande SharePoint personnalisée pour appeler l'API.Une fois que vous avez défini la commande et que vous l'avez déployée avec votre extension d'outils SharePoint, l'extension peut exécuter la commande pour effectuer un appel dans le modèle d'objet serveur SharePoint.Pour exécuter la commande, utilisez l'une des méthodes ExecuteCommand d'un objet ISharePointConnection.
Pour plus d'informations sur la finalité des commandes SharePoint, consultez Appel des modèles d'objet SharePoint.
Pour exécuter une commande SharePoint
Dans votre extension d'outils SharePoint, obtenez un objet ISharePointConnection.Le mode d'obtention d'un objet ISharePointConnection dépend du type d'extension que vous créez :
Dans une extension du système de projet SharePoint, utilisez la propriété ISharePointProject.SharePointConnection.
Pour plus d'informations sur les extensions de système de projet, consultez Extension du système de projet SharePoint.
Dans une extension du nœud Connexions SharePoint dans l'Explorateur de serveurs, utilisez la propriété IExplorerNodeContext.SharePointConnection.Pour obtenir un objet IExplorerNodeContext, utilisez la propriété IExplorerNode.Context.
Pour plus d'informations sur les extensions de l'Explorateur de serveurs, consultez Extension du nœud Connexions SharePoint dans l'Explorateur de serveurs.
Dans un code qui ne fait pas partie d'une extension des outils SharePoint, comme dans un Assistant Modèle de projet, utilisez la propriété ISharePointProjectService.SharePointConnection.
Pour plus d'informations au sujet de la récupération du service du projet, consultez Utilisation du service de projet SharePoint.
Appelez l'une des méthodes ExecuteCommand de l'objet ISharePointConnection.Communiquez le nom de la commande que vous souhaitez exécuter au premier argument de la méthode ExecuteCommand.Si votre commande a un paramètre personnalisé, communiquez ce paramètre au deuxième argument de la méthode ExecuteCommand.
La surcharge ExecuteCommand n'est pas la même pour chaque signature de commande prise en charge.Le tableau suivant répertorie les signatures prises en charge et la surcharge qu'il convient d'utiliser pour chaque signature.
Signature de commande
Surcharge ExecuteCommand à utiliser
La commande possède uniquement le paramètre par défaut ISharePointCommandContext et aucune valeur de retour.
La commande possède uniquement le paramètre par défaut ISharePointCommandContext et une valeur de retour.
La commande a deux paramètres (le paramètre par défaut ISharePointCommandContext et un paramètre personnalisé) et aucune valeur de retour.
La commande a deux paramètres et une valeur de retour.
Exemple
L'exemple de code suivant montre comment utiliser la surcharge ExecuteCommand<T>(String, T) pour appeler la commande Contoso.Commands.UpgradeSolution décrite dans Comment : créer une commande SharePoint.
Private Sub Execute(ByVal context As IDeploymentContext) _
Implements IDeploymentStep.Execute
context.Logger.WriteLine("Upgrading solution: " & solutionName, LogCategory.Status)
context.Project.SharePointConnection.ExecuteCommand("Contoso.Commands.UpgradeSolution", _
solutionFullPath)
End Sub
public void Execute(IDeploymentContext context)
{
context.Logger.WriteLine("Upgrading solution: " + solutionName, LogCategory.Status);
context.Project.SharePointConnection.ExecuteCommand("Contoso.Commands.UpgradeSolution",
solutionFullPath);
}
La méthode Execute affichée dans cet exemple est une implémentation de la méthode Execute de l'interface IDeploymentStep dans une étape de déploiement personnalisée.Pour voir ce code dans le contexte d'une procédure pas à pas plus vaste, consultez Procédure pas à pas : création d'une étape de déploiement personnalisée pour des projets SharePoint.
Tenez compte des remarques suivantes au sujet de l'appel de la méthode ExecuteCommand<T>(String, T) :
Le premier paramètre identifie la commande que vous souhaitez appeler.Cette chaîne correspond à la valeur transmise à l'attribut SharePointCommandAttribute sur la définition de commande.
Le deuxième paramètre est la valeur que vous souhaitez communiquer au deuxième paramètre personnalisé de la commande.Dans ce cas, il s'agit du chemin d'accès complet du fichier .wsp mis à niveau vers le site SharePoint.
Le code ne fournit pas le paramètre ISharePointCommandContext implicite à la commande.Ce paramètre est communiqué automatiquement à la commande lorsque vous appelez celle-ci à partir d'une extension du système de projet SharePoint ou d'une extension du nœud Connexions SharePoint dans l'Explorateur de serveurs.Dans d'autres types de solution, comme dans un Assistant Modèle de projet prévu pour implémenter l'interface Microsoft.VisualStudio.TemplateWizard.IWizard, ce paramètre est null.
Compilation du code
Cet exemple requiert une référence à l'assembly Microsoft.VisualStudio.SharePoint.
Voir aussi
Tâches
Procédure pas à pas : extension de l'Explorateur de serveurs pour afficher des WebParts