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
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:
In un'estensione del sistema di progetto SharePoint, utilizzare la proprietà ISharePointProject.SharePointConnection.
Per ulteriori informazioni sulle estensioni del sistema di progetto, vedere Estensione del sistema di progetto SharePoint.
In un'estensione del nodo Connessioni di SharePoint in Esplora server, utilizzare la proprietà IExplorerNodeContext.SharePointConnection. Per ottenere l'oggetto IExplorerNodeContext utilizzare la proprietà IExplorerNode.Context.
Per ulteriori informazioni sulle estensioni di Esplora server, vedere Estensione del nodo Connessioni di SharePoint in Esplora server.
Nel codice che non fa parte di un'estensione degli strumenti di SharePoint, ad esempio una creazione guidata di modelli di progetto, utilizzare la proprietà ISharePointProjectService.SharePointConnection.
Per ulteriori informazioni sul recupero del servizio del progetto, vedere Utilizzo del servizio di progetto SharePoint.
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.
Il comando dispone solo del parametro ISharePointCommandContext predefinito e di un valore restituito.
Il comando dispone di due parametri (il parametro ISharePointCommandContext predefinito e un parametro personalizzato) e non presenta alcun valore restituito.
Il comando dispone di due parametri e di un valore restituito.
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