Compartilhar via


WssInterop.DeleteWSSSite método

Exclui o site do SharePoint do project site para o projeto especificado.

Namespace:  WebSvcWssInterop
Assembly:  ProjectServerServices (em ProjectServerServices.dll)

Sintaxe

'Declaração
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/WssInterop/DeleteWSSSite", RequestNamespace := "https://schemas.microsoft.com/office/project/server/webservices/WssInterop/",  _
    ResponseNamespace := "https://schemas.microsoft.com/office/project/server/webservices/WssInterop/",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
Public Sub DeleteWSSSite ( _
    projectUID As Guid _
)
'Uso
Dim instance As WssInterop
Dim projectUID As Guid

instance.DeleteWSSSite(projectUID)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/WssInterop/DeleteWSSSite", RequestNamespace = "https://schemas.microsoft.com/office/project/server/webservices/WssInterop/", 
    ResponseNamespace = "https://schemas.microsoft.com/office/project/server/webservices/WssInterop/", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public void DeleteWSSSite(
    Guid projectUID
)

Parâmetros

  • projectUID
    Tipo: System.Guid

    O identificador exclusivo do projeto.

Comentários

O método DeleteWSSSite faz as seguintes verificações antes de excluir um project site:

  • Se o project site é um site de nível superior, DeleteWSSSite não é possível excluí-lo.

  • Se o site de project site tiver quaisquer filhos, você deve primeiro excluir sites filho.

  • O project site deve ter os recursos do modelo de project site.

  • O projeto que GUID associado com o project site deve corresponder o parâmetro projectUID .

Permissões do Project Server

Permissão

Descrição

ManageWindowsSharePointServices

Permite que o usuário gerencie o site project site. Permissão global.

Exemplos

As verificações de exemplo a seguir exclui um projeto tem um site project site e nesse caso, o site depois de verificar a ação.

The DeleteWorkspace sample method parameters are a validated WssInterop object, a Project object, and the unique identifier of the project. WssInteropWebSvc and ProjectWebSvc are arbitrary namespaces for the WebSvcWssInterop service and the WebSvcProject service. For information about using the code example, see Prerequisites for ASMX-Based Code Samples.

using System;
using System.Collections.Generic;
using System.Text;
using System.Web.Services.Protocols;
using System.Windows.Forms;
using PSLibrary = Microsoft.Office.Project.Server.Library;
. . .
public bool DeleteWorkspace(WebSvcWssInterop.WssInterop wssInterop, 
    WebSvcProject.Project project, Guid projectUid)
{
    bool deleted = false;

    try
    {
        WebSvcWssInterop.ProjectWSSInfoDataSet dsWssInfo =
            wssInterop.ReadWssData(projectUid);
        bool workspaceExists = dsWssInfo.ProjWssInfo.Count > 0;

        if (workspaceExists)
        {
            string projectName = project.GetProjectNameFromProjectUid(projectUid,
                                        WebSvcProject.DataStoreEnum.PublishedStore);
            WebSvcWssInterop.ProjectWSSInfoDataSet.ProjWssInfoRow wssInfoRow =
               dsWssInfo.ProjWssInfo[0];

            string currentWorkspace = wssInfoRow.PROJECT_WORKSPACE_URL;

            string msg = string.Format(
                "Remove the link and delete the workspace site {0} for project {1}?",
                currentWorkspace, projectName);
            DialogResult result =
                MessageBox.Show(msg, "Delete Workspace",
                    MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (result == DialogResult.Yes)
            {
                // Delete the workspace.
                wssInterop.DeleteWSSSite(projectUid);
                deleted = true;
            }
        }
    }
    catch (SoapException ex)
    {
        string errAttributeName;
        string errAttribute;
        string errMess = "".PadRight(30, '=') + "\r\n" + "Error: " + "\r\n";

        PSLibrary.PSClientError error = new PSLibrary.PSClientError(ex);
        PSLibrary.PSErrorInfo[] errors = error.GetAllErrors();
        PSLibrary.PSErrorInfo thisError;

        for (int i = 0; i < errors.Length; i++)
        {
            thisError = errors[i];
            errMess += "\n" + ex.Message.ToString() + "\r\n";
            errMess += "".PadRight(30, '=') + "\r\nPSCLientError Output:\r\n \r\n";
            errMess += thisError.ErrId.ToString() + "\n";

            for (int j = 0; j < thisError.ErrorAttributes.Length; j++)
            {
                errAttributeName = thisError.ErrorAttributeNames()[j];
                errAttribute = thisError.ErrorAttributes[j];
                errMess += "\r\n\t" + errAttributeName +
                           ": " + errAttribute;
            }
            errMess += "\r\n".PadRight(30, '=');
        }
        MessageBox.Show(errMess, "Error", MessageBoxButtons.OK,
            MessageBoxIcon.Error);
    }
    return deleted;
}

Ver também

Referência

WssInterop classe

WssInterop membros

WebSvcWssInterop namespace

Outros recursos

Windows SharePoint Services Infrastructure for Project Server