Как ограничить видимость функций в SharePoint 2010?

У меня есть решение SharePoint 2010 (ферма), содержащее именно эту функцию:
Функция ограничена областью действия сайта.
Для видимости функции задано значение «true».
В качестве цели развертывания сборки задано значение «Веб-приложение». ".
Функция содержит одну веб-часть.

После добавления этого решения в хранилище решений я могу развернуть решение в определенном веб-приложении. Однако после развертывания решения ровно в ОДНОМ веб-приложении эта функция фактически видна во ВСЕХ семействах сайтов! Я бы предположил, что эта функция должна быть видна только в семействах сайтов, размещенных в этом ОДНОМ веб-приложении? Попытка активировать эту функцию и добавить веб-часть на страницу (как ожидается) завершится ошибкой во всех семействах веб-сайтов других веб-приложений (сборка не может быть загружена).

Это баг SP2010? Есть ли обходной путь? Я просто хочу ограничить видимость функции определенными семействами сайтов...

Пожалуйста помоги! Спасибо


person Jan    schedule 26.07.2010    source источник


Ответы (1)


Ян, все ваши веб-приложения работают на одном сервере WFE? Если у вас несколько WFE, вы можете сделать это:

  1. Разверните функцию в веб-приложении A в WFE A.
  2. Вы должны увидеть эту функцию в функциях семейства веб-сайтов веб-приложения A.
  3. Теперь перейдите к веб-приложению B в WFE B. Когда вы посмотрите на функции семейства веб-сайтов в веб-приложении B, вашей функции там не должно быть.

Если ваши веб-приложения работают на одном сервере, они используют одну и ту же папку 14-Hive/TEMPLATES/FEATURES. После того, как вы развернете эту функцию только в одном веб-приложении на этом сервере, папка функций будет находиться в папке TEMPLATES/FEATURES этого сервера, что сделает эту функцию видимой в компонентах семейства веб-сайтов всех приложений на этом сервере.

Если у вас есть несколько приложений, работающих на одном и том же WFE, и если вам по-прежнему требуется ограничить видимость функции, вам, возможно, придется изучить изолированные решения.

Другой вариант — сделать эту функцию скрытой (отключить видимость — она никогда не будет отображаться ни в одной из функций семейства веб-сайтов) и просто попросить администраторов поставщика услуг выполнить развертывание вашей функции с помощью командной строки или командлета для этой функции. веб приложение.

-Гейб

person spdeveloper    schedule 26.07.2011