Как предотвратить удаление семейства сайтов SharePoint?

В настоящее время я использую веб-службу администратора Sharepoint 2010 и хочу убедиться, что определенное семейство сайтов не может быть удалено. Кто-нибудь знает способ сделать это так, что если у меня есть звонок как

adminService.DeleteSite(SiteCollection_TO_NEVER_DELETE);

Никогда не будет удален?

Спасибо за любые предложения

1 ответ

Если я вас правильно понимаю, это можно сделать с помощью функции SharePoint.

Вы можете создать и развернуть компонент 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.

Конечно, все равно можно было бы отключить эту функцию и удалить сайт. Но по крайней мере это предотвратит его случайное удаление.

Другие вопросы по тегам