Partager via


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

  1. 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 :

  2. 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.

    ExecuteCommand(String)

    La commande possède uniquement le paramètre par défaut ISharePointCommandContext et une valeur de retour.

    ExecuteCommand<TResult>(String)

    La commande a deux paramètres (le paramètre par défaut ISharePointCommandContext et un paramètre personnalisé) et aucune valeur de retour.

    ExecuteCommand<T>(String, T)

    La commande a deux paramètres et une valeur de retour.

    ExecuteCommand<T, TResult>(String, T)

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

Concepts

Appel des modèles d'objet SharePoint

Comment : créer une commande SharePoint