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 權限
權限 |
描述 |
---|---|
可讓使用者管理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;
}
請參閱
參照
其他資源
Windows SharePoint Services Infrastructure for Project Server