Поделиться через


Замечания об изолированных решениях

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

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

Указание уровня доверия проекта

Visual Studio поддерживает изолированные решения с помощью логического свойства проекта с именем Sandboxed Solution. Это свойство можно задать в любое время в проекте или его можно указать при создании проекта в мастере настройки SharePoint.

Примечание.

Изменение свойства изолированного решения проекта после его создания может привести к ошибкам проверки.

Решение считается решением для фермы область, если для свойства изолированного решения задано значение false или выбран вариант развертывания в качестве решения фермы. Однако решение обрабатывается по-разному от решения фермы, если для свойства изолированного решения задано значение true , или вы выбираете вариант развертывания в качестве изолированного решения в мастере.

Иерархия сайтов SharePoint

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

Веб-ферма

Веб-приложение A

Семейство веб-сайтов A1

Сайт A1a

Веб-приложение B

Семейство веб-сайтов B1

Сайт B1a

Сайт B1b

Семейство веб-сайтов B2

Сайт B2a

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

Windows SharePoint Services (Windows SharePoint Services) 3.0 позволяет развертывать решения только на уровне фермы, но Microsoft SharePoint Foundation позволяет развертывать на уровне фермы (решение фермы) или на уровне семейства веб-сайтов (изолированное решение).

Почему изолированные решения?

В Windows SharePoint Services 3.0 решения можно развертывать только на уровне фермы. Это означало, что потенциально опасные или дестабилизирующие решения могут быть развернуты, которые повлияли на всю веб-ферму и все другие семейства веб-сайтов и приложения, которые выполняются под ним. Однако с помощью изолированных решений можно развернуть решения в подаре фермы, определенном семействе веб-сайтов. Чтобы обеспечить дополнительную защиту, сборка решения не загружается в основной процесс IIS (w3wp.exe). Вместо этого он загружается в отдельный процесс (SPUCWorkerProcess.exe). Этот процесс отслеживается и реализует квоты и регулирование для защиты фермы от изолированных решений, выполняющих вредные действия, например выполнение жестких циклов ЦП, использующих циклы ЦП.

Windows SharePoint Services 2010 имеет функцию, которая называется "коллекцией решений семейства веб-сайтов". Вы можете получить доступ к этой функции на странице центра Администратор sharePoint 2010 или открыть меню "Действия сайта", выбрав сайт Параметры, а затем выбрав ссылку "Решения" в разделе "Коллекции" на сайте SharePoint. Коллекции решений — это репозитории решений, которые позволяют администраторам семейства веб-сайтов управлять решениями в своих семействах веб-сайтов.

Коллекция решений — это библиотека документов, хранящуюся в корневом веб-сайте SharePoint. Коллекция решений заменяет шаблоны сайтов и поддерживает пакеты решений. При отправке файла пакета решения SharePoint (WSP) он обрабатывается как изолированное решение.

Ограничения изолированных решений

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

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

  • SharePoint запускает изолированный код решения в процессе (SPUCWorkerProcess.exe) отдельно от основного процесса пула приложений IIS (w3wp.exe).

  • Сопоставленные папки нельзя добавить в проект.

  • Типы в сборке Microsoft SharePoint Server Microsoft.Office.Server нельзя использовать в изолированных решениях. Кроме того, в изолированных решениях можно использовать только типы в сборке Microsoft SharePoint Foundation Microsoft.SharePoint.

    Важно отметить, что указание решения SharePoint в качестве изолированного решения не влияет на сервер SharePoint; Он определяет, как проект SharePoint развертывается в SharePoint из Visual Studio и к каким сборкам он привязывается. Он не влияет на созданный WSP-файл , а WSP-файл не имеет данных, которые напрямую сопоставляются со свойством изолированного решения .

Возможности и элементы в изолированных решениях

Изолированные решения поддерживают следующие возможности и элементы:

  • Типы контента и поля

  • Настраиваемые действия

  • Декларативные рабочие процессы

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

  • Выноски функций

  • Определения списка

  • Перечисление экземпляров

  • Модуль или файлы

  • Переходы

  • Onet.xml

  • SPItemEventReceiver

  • SPListEventReceiver

  • SPWebEventReceiver

  • Поддержка всех веб-части, производных отSystem.Web.UI.WebControls.WebParts.WebPart

  • веб-части

  • Элементы компонента WebTemplate (вместо Webtemp.xml)

  • Визуальный веб-части

    Изолированные решения не поддерживают следующие возможности и элементы:

  • Страницы приложений

  • Пользовательская группа действий

  • Функции фермы область

  • HideCustomAction - элемент

  • Функции веб-приложения область

  • Рабочие процессы с кодом