Обзор изолированных решений (SharePoint Foundation 2010)

 

Применимо к: SharePoint Foundation 2010

Последнее изменение раздела: 2016-11-30

Решение Microsoft SharePoint Foundation 2010 можно развернуть непосредственно в ферме SharePoint Foundation или в изолированной среде. Изолированная среда — это ограниченная среда, которая предоставляет программам доступ только к определенным ресурсам и не позволяет возникающим неполадкам влиять на остальную среду серверов.

Решения, развертываемые в изолированной среде и называемые изолированными решениями, не могут использовать определенные сетевые ресурсы и ресурсы компьютеров и не могут получать доступ к контенту вне семейства сайтов, в котором они развернуты. Дополнительные сведения об ограничениях изолированных решений см. в статье Чего не может содержать изолированное решение.

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

Изолированные решения особенно полезны в следующих ситуациях.

  • Если организация хочет выполнять код для сотрудников на рабочем сайте SharePoint Foundation, но этот код еще не проверялся и не тестировался.

  • Если поставщик услуг размещения хочет позволить владельцу размещенных сайтов SharePoint Foundation загружать и выполнять собственный код.

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

Содержание:

Развертывание и выполнение изолированных решений

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

В следующем списке перечислены несколько компонентов, которые можно развертывать в изолированной среде.

  • Веб-части

  • Приемники событий

  • Приемники компонентов

  • Настраиваемые действия рабочего процесса Microsoft SharePoint Designer

  • Бизнес-логика Microsoft InfoPath

Далее описаны действия для развертывания изолированного решения.

  1. Администратор фермы выполняет следующие задачи. Их нужно выполнить один раз.

    • Администратор фермы включает изолирование и запускает службу изоляции на всех серверах, на которых будут работать изолированные решения.

    • Администратор фермы определяет используемую схему балансировки нагрузки. Она применяется ко всем изолированным решениям в семействе сайтов фермы.

    • Администратор фермы задает квоты ресурсов, которые не могут превышать все изолированные решения семейства сайтов.

  2. Администратор семейства сайтов или пользователь с полным управлением доступом к корневому сайту семейства сайтов загружает решение в каталог решений.

  3. Администратор семейства сайтов активирует решение. Если оно не содержит сборки, пользователь с полным доступом к корневому сайту семейства также может его активировать. Запускаются средства проверки решения. Если проверка завершилась с ошибками, решение не активируется.

При обработке запроса на выполнение изолированного решения выполняются следующие действия.

  1. На основе схемы балансировки нагрузки SharePoint Foundation определяет, на каком сервере будет выполняться решение. Если балансировка нагрузки локальная, решение выполняется на том же сервере, который обслуживает запрос. Если балансировка нагрузки удаленная, сервер для выполнения решения выбирается на основе сходства решения. В обоих случаях на сервере должна работать служба изоляции.

  2. SharePoint Foundation выбирает рабочий процесс изолированной среды для запуска решения, загружает библиотеку DLL совместимости в процесс и затем загружает сборку решения в процесс.

  3. При запуске решения его код проходит через оболочку совместимости перед его выполнением в SharePoint Foundation. Если код решения пытается использовать интерфейсы API, которые изолированные решения не могут применять, оболочка совместимости вызывает исключение и не пропускает код.

  4. SharePoint Foundation анализирует ресурсы, которые использует изолированное решение. Если изолированное решение превышает жесткий предел (например, если оно использует больше времени процессора, чем положено), SharePoint Foundation завершает рабочий процесс изолированного решения. Если все изолированные решения семейства сайтов вместе превышают квоту ресурсов семейства, SharePoint Foundation отключает все изолированные решения в семействе сайтов до конца дня.

  5. Администратор семейства сайтов может следить за ресурсами, которые используют изолированные решения, а также может отключать решения в семействе сайтов.

При необходимости администратор фермы может блокировать выполнение решения в ферме. Также он может отключить требование выполнения в изолированной среде. В этом случае решение выполняется в любом семействе сайтов фермы, а не в изолированной среде.

Изоляция изолированных решений

Изолированные решения можно изолировать с разной степенью. Каждый уровень изоляции повышает возможность защиты основной части сайта SharePoint Foundation от кода, который может потреблять слишком много ресурсов. На первом уровне изолированный код выполняется в изолированном процессе с ограниченными правами. Политика безопасности доступа к коду (CAS) ограничивает операции, которые может выполнять изолированный код. Степень изоляции можно повысить, используя удаленную балансировку нагрузки и запуская службу изоляции только на определенных серверах. В рабочей среде рекомендуется использовать удаленную балансировку нагрузки и выделить отдельный сервер для запуска изолированных решений.

Чего изолированное решение не может содержать

Решение SharePoint Foundation должно содержать файл конфигурации с именем manifest.xml, а также оно может содержать дополнительные файлы конфигурации и сборки. Если решение выполняется в изолированной среде, содержимое файлов сборки и конфигурации ограничено.

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

  • Подключаться к ресурсам, расположенным вне локального сервера.

  • Получать доступ к базе данных.

  • Изменять потоковую модель.

  • Вызывать неуправляемый код.

  • Выполнять запись на диск.

  • Получать доступ к ресурсам другого семейства сайтов.

Файл manifest.xml ссылается на файлы компонентов; файлы компонентов ссылаются на файлы элементов; файлы элементов содержат элементы feature. Единственные элементы feature, которые разрешены в изолированном решении, перечислены ниже.

  • ContentType

  • Field

  • CustomAction

  • Module

  • ListInstance

  • ListTemplate

  • Receivers

  • WebTemplate

  • WorkflowAssociation

  • PropertyBag

  • WorkflowActions

Сравнение изолированных решений и решений для всей фермы

В следующей таблице сравниваются характеристики решений, которые выполняются во всей ферме, и изолированных решений.

Характеристика Ферма Изолированная среда

Процесс развертывания

Добавьте решение и разверните его в ферме.

Загрузите решение в семейство сайтов и активируйте его.

Кто может выполнять развертывание

Администратор фермы.

Если решение содержит сборку, его развертывание может выполнять только администратор семейства сайтов. Если оно не содержит сборки, пользователь с полным доступом к корневому сайту семейства также может его развертывать.

Доступ к данным

Неограниченный.

Решение может получать доступ только к контенту семейства сайтов, в котором оно развернуто.

Процесс, в котором работает решение

Неограниченный рабочий процесс IIS или процесс, в котором развернуто решение.

Отдельный рабочий процесс с ограниченными правами.

Безопасность доступа к коду

Разработчик решения может задать политику безопасности доступа к коду при создании пакета решения.

Ограничено. Дополнительные сведения см. в статье Развертывание изолированного решения (Возможно, на английском языке) (https://go.microsoft.com/fwlink/?linkid=177369&clcid=0x419).

Мониторинг

Не осуществляется.

Осуществляется мониторинг, применяются квоты, заданные администратором фермы.

Балансировка нагрузки

Зависит от типа решения.

Настраивается отдельно от неизолированных решений.

Функциональность решения

Неограниченная.

Ограничена, как описано в разделе Чего изолированное решение не может содержать.

Преимущества использования изолированных решений

Основные преимущества использования изолированных решений перечислены ниже.

  • Решения можно добавлять в рабочую среду SharePoint Foundation без влияния на ферму вне изолированной среды.

  • Выполнять развертывание изолированных решений могут администраторы семейства сайтов, что освобождает администраторов фермы от этой задачи.

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

  • Решение не нужно изменять или повторно компилировать при перемещении из изолированной в рабочую среду.

See Also

Concepts

Планирование изолированных решений (SharePoint Foundation 2010)

Other Resources

Sandboxed solutions administration (SharePoint Foundation 2010)
Архитектура изолированных решений (https://go.microsoft.com/fwlink/?linkid=177368&clcid=0x419) (Возможно, на английском языке)
Развертывание изолированного решения (https://go.microsoft.com/fwlink/?linkid=177369&clcid=0x419) (Возможно, на английском языке)