我目前正在使用Sharepoint 2010管理员网络服务,并希望确保无法删除特定网站集。有没有人知道如何实现这一点,如果我有一个像
这样的电话adminService.DeleteSite(SiteCollection_TO_NEVER_DELETE);
永远不会被删除?
感谢您的任何建议
答案 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.";
}
}
您可以检查特定名称或特定网址。
当然,仍然可以停用该功能并仍然删除该网站。但至少它会阻止它被意外删除。