2013-09-23 209 views
0

我目前正在使用Sharepoint 2010管理員web服務,並且希望確保無法刪除特定的網站集。有誰知道一種方法來做到這一點,如果我有一個像如何防止刪除SharePoint網站集?

adminService.DeleteSite(SiteCollection_TO_NEVER_DELETE);

永遠不會被刪除?

感謝您的任何建議

+0

http://blogs.technet.com/b/sharepointdevelopersupport/archive/2012/09/07/how-to-prevent-site-deletion-with-a-custom-event-receiver.aspx –

回答

0

如果我理解正確的話,可以通過使用SharePoint功能來完成。

您可以創建和部署具有Web事件接收器的SharePoint功能。在此事件接收方中,您可以覆蓋SiteDeleting方法,並通過將參數的屬性Cancel的值更改爲true來取消刪除網站集的請求。這會爲任何試圖刪除網站集的用戶返回一個錯誤。您還可以添加一條錯誤消息。

例如:

/// <summary> 
    /// A site collection is being deleted 
    /// </summary> 
    public override void SiteDeleting(SPWebEventProperties properties) 
    { 
     base.SiteDeleting(properties); 
     if(/*some condition*/) 
     { 
      properties.Cancel = true; 
      properties.ErrorMessage = "This site collection should never be deleted."; 
     } 
    } 

您可以檢查特定名稱或特定的URL。

當然,仍然可以停用該功能並仍然刪除該網站。但至少它會阻止它被意外刪除。