Cómo: Ejecutar un comando de SharePoint
Si desea utilizar el modelo de objetos de servidor en una extensión de herramientas de SharePoint, debe crear un comando de SharePoint personalizado para llamar a la API.Después de definir el comando e implementarlo con la extensión de herramientas de SharePoint, la extensión puede ejecutar el comando para llamar en el modelo de objetos de servidor de SharePoint.Para ejecutar el comando, use uno de los métodos ExecuteCommand de un objeto ISharePointConnection.
Para obtener más información sobre el propósito de los comandos de SharePoint, vea Llamar a los modelos de objetos de SharePoint.
Para ejecutar un comando de SharePoint
En la extensión de herramientas de SharePoint, obtenga un objeto ISharePointConnection.La manera de obtener un objeto ISharePointConnection depende del tipo de extensión que se esté creando:
En una extensión del sistema de proyectos de SharePoint, use la propiedad ISharePointProject.SharePointConnection.
Para obtener más información sobre extensiones del sistema de proyectos, vea Extender el sistema de proyectos de SharePoint.
En una extensión del nodo Conexiones de SharePoint en el Explorador de servidores, use la propiedad IExplorerNodeContext.SharePointConnection.Para obtener un objeto IExplorerNodeContext, use la propiedad IExplorerNode.Context.
Para obtener más información sobre las extensiones del Explorador de servidores, vea Extender el nodo Conexiones de SharePoint en el Explorador de servidores.
En código que no forme parte de una extensión de las herramientas SharePoint, como un asistente de plantilla de proyecto, use la propiedad ISharePointProjectService.SharePointConnection.
Para obtener más información acerca de la recuperación de un servicio de proyecto, vez Utilizar el servicio de proyecto de SharePoint.
Llame a uno de los métodos ExecuteCommand del objeto ISharePointConnection.Pase el nombre del comando que desea ejecutar al primer argumento del método ExecuteCommand.Si el comando tiene un parámetro personalizado, páselo al segundo argumento del método ExecuteCommand.
Hay una sobrecarga ExecuteCommand diferente para cada firma de comando compatible.En la tabla siguiente se enumeran las firmas compatibles y qué sobrecarga usar con cada una.
firma de comando
Sobrecarga ExecuteCommand que se usa
El comando solo tiene el parámetro ISharePointCommandContext predeterminado y no devuelve valor.
El comando solo tiene el parámetro ISharePointCommandContext predeterminado y un valor devuelto.
El comando tiene dos parámetros (parámetro ISharePointCommandContext predeterminado y un parámetro personalizado) y ningún valor devuelto.
El comando tiene dos parámetros y un valor devuelto.
Ejemplo
En el ejemplo de código siguiente se muestra cómo utilizar la sobrecarga ExecuteCommand<T>(String, T) para llamar al comando Contoso.Commands.UpgradeSolution que se describe en Cómo: Crear un comando de 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);
}
El método Execute mostrado en este ejemplo es una implementación del método Execute de la interfaz IDeploymentStep en un paso de implementación personalizado.Para consultar este código en el contexto de un ejemplo mayor, vea Tutorial: Crear un paso de implementación personalizado para proyectos de SharePoint.
Observe los detalles siguientes sobre la llamada al método ExecuteCommand<T>(String, T):
El primer parámetro identifica el comando que desea llamar.Esta cadena coincide con el valor que pasa a SharePointCommandAttribute en la definición de comando.
El segundo parámetro es el valor que desea pasar al segundo parámetro personalizado del comando.En este caso, es la ruta de acceso completa del archivo .wsp que se actualiza en el sitio de SharePoint.
El código no pasa el parámetro ISharePointCommandContext implícito al comando.Este parámetro se pasa automáticamente al comando cuando se le llama desde una extensión del sistema de proyectos de SharePoint o una extensión del nodo Conexiones de SharePoint del Explorador de servidores.En otros tipos de soluciones, por ejemplo, en un asistente de plantilla de proyecto que implemente la interfaz Microsoft.VisualStudio.TemplateWizard.IWizard, este parámetro es null.
Compilar el código
En este ejemplo se requiere una referencia al ensamblado Microsoft.VisualStudio.SharePoint.
Vea también
Tareas
Tutorial: Extender el Explorador de servidores para mostrar elementos web