Можно ли это сделать, установив свойство?
Я бы предпочел, чтобы этот подход удалил всю безопасность перед повторным добавлением. (Поскольку это может иметь другие последствия.)
Другой вариант, о котором я могу подумать, - это заменить конкретную dll webpart на временную и перезапустить процесс .net, но мне это совсем не нравится.
Какие еще есть варианты? Я упустил что-то очевидное?
Что я пытаюсь сделать, так это найти способ отключить веб-часть, когда мы, например, обновляем базовую схему базы данных, которую он использует. Поэтому в идеале мы хотели бы отключить определенную веб-часть для всех пользователей, будь то на mysite или на сайте сообщества, внести необходимые изменения, а затем снова включить ее. Таким образом сокращается время простоя для пользователей.
Каким бы ни было решение, нам нужно иметь возможность делать это на нескольких интерфейсных серверах, потенциально на двух фермах.
Спасибо за вашу помощь.
Я добавил больше деталей. Чтобы ответить, любой вариант, хотя он должен действовать для всех пользователей, поэтому решение Aidenn не является идеальным.
Боюсь, что мое решение на уровне сайта для всех пользователей, но не идеально для всех сайтов ...





Перейдите в Действия сайта -> Изменить страницу Вы редактируете все веб-части. Щелкните раскрывающееся меню «Изменить» веб-части, которую вы хотите отключить, и выберите «Закрыть».
Веб-часть исчезает, но не бойтесь! Это не навсегда!
Чтобы вернуть:
-> щелкните, чтобы добавить новую веб-часть -> Расширенная галерея и параметры веб-частей.
Самый первый вариант, который у вас есть, - это выбрать «Закрытые веб-части». При нажатии на эту ссылку вы увидите список всех закрытых веб-частей. Просто добавьте тот, который хотите обратно!
Спасибо за ответ Айденн, можно ли программно установить это свойство для всех сайтов и пользователей?
В web.config вы можете установить safe = "false" для тега SafeControl для веб-части. Это приведет к тому, что веб-часть будет отображать сообщение об ошибке, пока вы не установите для него значение true.
напишите код для установки значения в пакете свойств сайта, установите значение с помощью кода и в загрузке страницы веб-части, проверьте значение пакета свойств, если установлено, показать содержимое, иначе просто пропустите. Надеюсь, вы поняли, если не дайте мне знать, я поясню.
Думаю, вопрос нужно конкретизировать. Вы хотите сделать это вручную, как описано в @Aidenn, или программно?