C# 如何防止删除SharePoint网站集?

C# 如何防止删除SharePoint网站集?,c#,sharepoint,sitecollection,C#,Sharepoint,Sitecollection,我目前正在使用Sharepoint 2010管理web服务,希望确保无法删除特定网站集。有没有人知道有什么方法可以让这一切发生,如果我接到这样的电话 adminService.DeleteSite(SiteCollection\u TO\u NEVER\u DELETE) 永远不会被移除 感谢您的建议如果我理解正确,可以使用SharePoint功能完成 您可以创建和部署具有web事件接收器的SharePoint功能。在此事件接收器中,您可以覆盖sitedeleding方法,并通过将参数的属性ca

我目前正在使用Sharepoint 2010管理web服务,希望确保无法删除特定网站集。有没有人知道有什么方法可以让这一切发生,如果我接到这样的电话

adminService.DeleteSite(SiteCollection\u TO\u NEVER\u DELETE)

永远不会被移除


感谢您的建议

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

您可以创建和部署具有web事件接收器的SharePoint功能。在此事件接收器中,您可以覆盖
sitedeleding
方法,并通过将参数的属性
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.";
        }
     }
//
///正在删除网站集
/// 
公共覆盖无效站点删除(SPWebEventProperties)
{
基本。删除(属性);
如果(/*某些条件*/)
{ 
properties.Cancel=true;
properties.ErrorMessage=“永远不应删除此网站集。”;
}
}
您可以检查特定名称或特定URL

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