Compartir a través de


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

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

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

    ExecuteCommand(String)

    El comando solo tiene el parámetro ISharePointCommandContext predeterminado y un valor devuelto.

    ExecuteCommand<TResult>(String)

    El comando tiene dos parámetros (parámetro ISharePointCommandContext predeterminado y un parámetro personalizado) y ningún valor devuelto.

    ExecuteCommand<T>(String, T)

    El comando tiene dos parámetros y un valor devuelto.

    ExecuteCommand<T, TResult>(String, T)

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

Conceptos

Llamar a los modelos de objetos de SharePoint

Cómo: Crear un comando de SharePoint