Condividi tramite


Procedura: eseguire un comando di SharePoint

Se si desidera utilizzare il modello a oggetti del server in un'estensione degli strumenti di SharePoint, è necessario creare un comando di SharePoint personalizzato per chiamare l'API. Dopo aver definito il comando e averlo distribuito nell'estensione degli strumenti di SharePoint, l'estensione può utilizzare il comando per eseguire chiamate nel modello a oggetti del server SharePoint. Per eseguire il comando, utilizzare uno dei metodi ExecuteCommand di un oggetto ISharePointConnection.

Per ulteriori informazioni sull'uso dei comandi di SharePoint, vedere Chiamate ai modelli a oggetti di SharePoint.

Per eseguire un comando di SharePoint

  1. Nell'estensione degli strumenti di SharePoint, ottenere un oggetto ISharePointConnection. Il modo in cui ottenere un oggetto ISharePointConnection dipende dal tipo di estensione da creare:

  2. Chiamare uno dei metodi ExecuteCommand dell'oggetto ISharePointConnection. Passare il nome del comando che si desidera eseguire al primo argomento del metodo ExecuteCommand. Se il comando presenta un parametro personalizzato, passare tale parametro al secondo argomento del metodo ExecuteCommand.

    È previsto un diverso overload del metodo ExecuteCommand per ogni firma del comando supportata. Nella tabella seguente vengono elencate le firme supportate e l'overload da utilizzare per ognuna di esse.

    Firma del comando

    Overload del metodo ExecuteCommand da utilizzare

    Il comando dispone solo del parametro ISharePointCommandContext predefinito e non presenta alcun valore restituito.

    ExecuteCommand(String)

    Il comando dispone solo del parametro ISharePointCommandContext predefinito e di un valore restituito.

    ExecuteCommand<TResult>(String)

    Il comando dispone di due parametri (il parametro ISharePointCommandContext predefinito e un parametro personalizzato) e non presenta alcun valore restituito.

    ExecuteCommand<T>(String, T)

    Il comando dispone di due parametri e di un valore restituito.

    ExecuteCommand<T, TResult>(String, T)

Esempio

Nell'esempio di codice seguente viene illustrato come utilizzare l'overload di ExecuteCommand<T>(String, T) per chiamare il comando Contoso.Commands.UpgradeSolution descritto in Procedura: creare un comando di 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);
}

Il metodo Execute mostrato in questo esempio è un'implementazione del metodo Execute dell'interfaccia IDeploymentStep in un passaggio relativo alla distribuzione personalizzata. Per vedere questo codice nel contesto di un esempio più esaustivo, vedere Procedura dettagliata: creazione di un passaggio di distribuzione personalizzato per progetti SharePoint.

Tenere presente i dettagli seguenti relativi alla chiamata al metodo ExecuteCommand<T>(String, T):

  • Il primo parametro identifica il comando che si desidera chiamare. Questa stringa corrisponde al valore passato all'oggetto SharePointCommandAttribute sulla definizione dei comandi.

  • Il secondo parametro è il valore che si desidera passare al secondo parametro personalizzato del comando. In questo caso, è il percorso completo del file con estensione .wsp che si sta aggiornando al sito di SharePoint.

  • Il codice non consente di passare il parametro ISharePointCommandContext implicito al comando. Questo parametro viene passato nel comando automaticamente quando quest'ultimo viene chiamato da un'estensione del sistema di progetto SharePoint o da un'estensione del nodo Connessioni di SharePoint in Esplora server. In altri tipi di soluzioni, ad esempio in una creazione guidata di modelli di progetto che implementa l'interfaccia Microsoft.VisualStudio.TemplateWizard.IWizard, questo parametro è null.

Compilazione del codice

In questo esempio viene richiesto un riferimento all'assembly Microsoft.VisualStudio.SharePoint.

Vedere anche

Attività

Procedura dettagliata: estensione di Esplora server per visualizzare web part

Concetti

Chiamate ai modelli a oggetti di SharePoint

Altre risorse

Procedura: creare un comando di SharePoint