如何防止删除SharePoint网站集?

时间:2013-09-23 19:00:16

标签: c# sharepoint sitecollection

我目前正在使用Sharepoint 2010管理员网络服务,并希望确保无法删除特定网站集。有没有人知道如何实现这一点,如果我有一个像

这样的电话

adminService.DeleteSite(SiteCollection_TO_NEVER_DELETE);

永远不会被删除?

感谢您的任何建议

1 个答案:

答案 0 :(得分: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.";
        }
     }

您可以检查特定名称或特定网址。

当然,仍然可以停用该功能并仍然删除该网站。但至少它会阻止它被意外删除。