0

我目前正在使用 Sharepoint 2010 管理 Web 服务,并希望确保无法删除特定网站集。有谁知道一种方法来实现这一点,如果我有一个像这样的电话

adminService.DeleteSite(SiteCollection_TO_NEVER_DELETE);

永远不会被删除?

感谢您的任何建议

4

1 回答 1

0

如果我理解正确,可以使用 SharePoint 功能来完成。

您可以创建和部署具有 Web 事件接收器的 SharePoint 功能。在此事件接收器中,您可以通过将参数的属性值更改为来覆盖该SiteDeleting方法并取消删除网站集的请求。这将为尝试删除网站集的任何人返回错误。您还可以添加错误消息。Canceltrue

例如:

    /// <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。

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

于 2013-09-23T20:38:18.267 回答