共用方式為


WssInterop.DeleteWSSSite 方法

會刪除指定的專案project site SharePoint 網站。

命名空間:  WebSvcWssInterop
組件:  ProjectServerServices (在 ProjectServerServices.dll 中)

語法

'宣告
<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 _
)
'用途
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
)

參數

  • projectUID
    類型:System.Guid

    專案的唯一識別碼。

備註

之前就會刪除project siteDeleteWSSSite方法會進行下列檢查:

  • 如果project site是最上層網站, DeleteWSSSite無法刪除它。

  • 如果project site網站會有任何子系,您必須先刪除子網站。

  • project site必須具備project site範本功能。

  • GUID project site相關聯的專案必須符合projectUID參數。

Project Server 權限

權限

描述

ManageWindowsSharePointServices

可讓使用者管理project site網站。通用權限。

範例

下列範例會檢查是否專案有project site網站,以及如果要的話,會刪除網站確認動作之後。

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;
}

請參閱

參照

WssInterop 類別

WssInterop 成員

WebSvcWssInterop 命名空間

其他資源

Windows SharePoint Services Infrastructure for Project Server