Общие сведения об изолированных решениях (SharePoint Server 2010)

 

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

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

Решение Microsoft SharePoint Server 2010 является развертываемым, многократно используемым пакетом, который может содержать компоненты, определения сайтов и другую функциональность. Решения можно включать или отключать по отдельности. Решения можно развертывать напрямую в ферму SharePoint Server или в изолированную среду. Изолированная среда — это ограниченная среда выполнения, которая предоставляет программам доступ только к определенным ресурсам и не позволяет возникающим неполадкам влиять на остальную серверную среду. Решения, развертываемые в изолированной среде (также называемые изолированными решениями), не могут использовать определенные ресурсы компьютера и сети, а также не имеют доступа к контенту, расположенному вне семейства веб-сайтов, в котором они развернуты. Дополнительные сведения о решениях см. в разделе Обзор решений (https://go.microsoft.com/fwlink/?linkid=156638&clcid=0x419).

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

В этой статье представлены концепции, связанные с изолированными решениями, описано их использование и преимущества, даны различия между изолированными и развертываемыми в ферме решениями, обобщенные сведения по развертыванию изолированных решений, сведения о службе изолированных решений, сведения о единицах потребления ресурсов и квотах, описаны задачи, связанные с администрированием изолированных решений. В статье не содержится подробное описание процедур настройки или развертывания изолированных решений. Дополнительные сведения о выполнении конкретных задач, связанных с изолированными решениями, см. в статьях Администрирование изолированных решений (SharePoint Server 2010) и Установка, удаление и обновление изолированных решений (https://go.microsoft.com/fwlink/?linkid=220252&clcid=0x419).

Содержание:

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

  • Общие сведения об изолированных решениях

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

  • Общие сведения о службе изолированных решений

  • Общие сведения о квотах и единицах потребления ресурсов

  • Администрирование изолированных решений

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

Изолированные решения подходят для использования в двух случаях:

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

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

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

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

  • Возможность развертывания изолированных решений администраторами семейств веб-сайтов. Это снижает нагрузку на администраторов фермы.

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

  • Возможность переноса решений из "песочницы" непосредственно в ферму без изменения или повторной компиляции.

Общие сведения об изолированных решениях

Решения упаковываются в WSP-файлы, которые могут содержать компоненты, определения сайтов, веб-части и сборки. Имеется два вида решений: для ферм и изолированные. Решения для ферм развертываются на интерфейсных веб-серверах администратором фермы, имеют полный доступ к объектной модели сервера и использование ими ресурсов не подлежит каким бы то ни было ограничениям. Изолированные решения же могут развертываться администратором семейства веб-сайтов или пользователем, которому предоставлен уровень разрешений "Полный доступ" на корень семейства веб-сайтов. Развертывание может выполняться в коллекцию решений определенного семейства веб-сайтов. Изолированные решения имеют ограниченный доступ к серверной объектной модели и выполняются в контексте с ограничениями безопасности, обеспечивающем изоляцию и мониторинг кода изолированного решения. Администраторы фермы могут включить или отключить изолированные решения, задать для них квоты для защиты серверов фермы от вредоносного кода. Дополнительные сведения о решениях см. в статье Базовые элементы разработки: решения (https://go.microsoft.com/fwlink/?linkid=220253&clcid=0x419).

Что изолированные решения делать не могут

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

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

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

  • Доступ к базе данных.

  • Изменение потоковой модели.

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

  • Запись на диск.

  • Доступ к ресурсам в другом семействе сайтов.

Дополнительные сведения о разрешенных и запрещенных изолированному решению действиях см. в статьях Что можно реализовать в изолированном решении (https://go.microsoft.com/fwlink/?linkid=220254&clcid=0x419) и Ограничения для изолированных решений (https://go.microsoft.com/fwlink/?linkid=220255&clcid=0x419).

Общие сведения о балансировке нагрузки изолированных решений

SharePoint Server предоставляет две схемы балансировки нагрузки, используемые для определения того, на каком сервере будет выполняться изолированное решение. Администраторы фермы могут выбрать одну из следующих схем балансировки нагрузки для применения к изолированным решениям в пределах фермы:

  • Локальная балансировка нагрузки.   Изолированные решения выполняются на сервере, который получает запрос.

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

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

Примечание

Служба изолированных решений имеет разные названия в зависимости от того, откуда осуществляется доступ к ней. На веб-сайте центра администрирования SharePoint эта служба называется службой изолированного кода Microsoft SharePoint Foundation. В консоли "Службы" на сервере она называется службой размещения пользовательского кода SharePoint. Чтобы избежать путаницы, в этой статье указанная служба называется "службой изолированных решений".

Степень изолированности изолированных решений можно повысить посредством удаленной балансировки нагрузки и запуска службы изолированных решений только на определенных серверах. В рабочей среде для запуска изолированных решений рекомендуется использовать удаленную балансировку нагрузки и выделять отдельный сервер. Сведения о выборе схемы балансировки нагрузки см. в разделе Планирование распределения нагрузки кода изолированных решений статьи Планирование изолированных решений (SharePoint Server 2010).

Сравнение решений, выполняемых в ферме и "песочнице"

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

Аспект Ферма "Песочница"

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

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

Передача решения в семейство сайтов с последующей его активацией в этом семействе.

Пользователи, имеющие права на развертывание

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

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

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

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

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

Процесс, в котором выполняется решение

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

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

Разграничение доступа кода

Политика разграничения доступа кода определяется разработчиком решения в процессе его упаковки.

Ограничено.

Отслеживание

Не отслеживается.

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

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

Переменная, в зависимости от вида решения.

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

Функциональные возможности решения

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

Ограничены, как описано в разделе Что изолированные решения делать не могут ранее в этой статье.

Хотя на изолированные решения и накладываются определенные ограничения, связанные с выполняемым кодом и используемыми типами данных, можно создать специальный тип операций, который будет выполняться в процессе с полным доверием и может вызываться из изолированного решения. Это называется прокси с полным доверием. Дополнительные сведения о прокси с полным доверием см. в документах Партнерство изолированных решений и прокси с полным доверием (https://go.microsoft.com/fwlink/?linkid=220256&clcid=0x419) и Главе 4. Изолированные решения (https://go.microsoft.com/fwlink/?linkid=219528&clcid=0x419).

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

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

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

  • Веб-части.

  • Получатели событий.

  • Получатели компонентов.

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

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

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

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

    • Включение изолированных решений и запуск службы изолированных решений на всех серверах, на которых планируется выполнять изолированные решения. Сведения о включении службы изолированных решений см. в статье Enable sandboxed solutions on the farm (SharePoint Server 2010).

    • Выбор схемы балансировки нагрузки. Схема балансировки нагрузки применяется ко всем изолированным решениям во всех семействах веб-сайтов фермы. Сведения о выборе схемы балансировки нагрузки см. в статье Configure load balancing for sandboxed solutions (SharePoint Server 2010).

    • Настройка квот ресурсов, которые не могут быть превышены всеми изолированными решениями семейства веб-сайтов в сумме. Сведения о настройке квот ресурсов см. в статье Настройка точек ресурсов для изолированных решений (SharePoint Server 2010).

  2. Администратор семейства веб-сайтов или пользователь, которому предоставлен уровень разрешений "Полный доступ" на корень семейства веб-сайтов, отправляет решение в коллекцию решений семейства. Сведения об отправке решения в коллекцию решений см. в статье Установка, удаление и обновление изолированных решений (https://go.microsoft.com/fwlink/?linkid=220252&clcid=0x419).

  3. Администратор семейства веб-сайтов включает решение. Если решение не содержит сборок, его может включить и пользователь, которому предоставлен уровень разрешений "Полный доступ" на корень семейства веб-сайтов. Запускаются средства проверки решения. Решение, не прошедшее проверку, не включается. Дополнительные сведения о проверке и включении изолированного решения см. в статье Установка, удаление и обновление изолированных решений (https://go.microsoft.com/fwlink/?linkid=220252&clcid=0x419).

Администраторы семейств веб-сайтов могут отслеживать использование ресурсов изолированными решениями и при необходимости отключать изолированные решения в определенном семействе. Если после развертывания изолированного решения оно начинает использовать слишком много ресурсов или вызывает проблемы в изолированной среде, администратор фермы может запретить выполнение изолированного решения в ферме. В некоторых случаях администратор фермы может снять требование на выполнение изолированного решения в изолированной среде, переустановив решение как решение для фермы. В этом случае при следующем запуске такого решения в любом семействе веб-сайтов фермы оно не будет выполняться в изолированной среде. Сведения о блокировке изолированных решений см. в статье Block or unblock a sandboxed solution (SharePoint Server 2010). Установка решений для фермы рассматривается в статье Развертывание пакетов решений (SharePoint Server 2010).

Общие сведения о службе изолированных решений

Служба изолированных решений управляет выполнением изолированных решений в ферме. В службе изолированных решений выполняются два процесса: рабочий процесс и прокси-процесс. Каждое изолированное решение выполняется в пределах домена приложения в рабочем процессе. Рабочий процесс управляет изолированными решениями посредством регулирования ресурсов, к которым изолированные решения имеют доступ, и посредством остановки процессов, на выполнение которых уходит слишком много времени. Каждый рабочий процесс спарен с прокси-процессом, обрабатывающим вызовы к объектной модели SharePoint. Подробное описание работы службы изолированных решений см. в разделе "Как работает модель выполнения изолированных решений?" статьи Изолированные решения (https://go.microsoft.com/fwlink/?linkid=220257&clcid=0x419).

Общие сведения об уровнях

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

Уровни в службе изолированных решений

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

Администраторы фермы могут задать для каждого уровня следующие свойства:

  • ResourceMaxValue.   Это свойство представляет число, определяющее, какие изолированные решения будут работать на уровне. Значение по умолчанию — 0. Свойству необходимо задать большее значение, в противном случае уровень использоваться не будет.

  • MaximumWorkerProcesses.   Это свойство представляет максимальное число рабочих процессов, которые могут выполняться в уровне. Значение по умолчанию — 1. Задание этому свойству значения больше 1 вызовет создание дополнительных рабочих процессов на сервере, обрабатывающем запрос.

  • MaximumAppDomainsPerProcess.   Это свойство представляет максимальное число доменов приложения, которые могут выполняться в рабочем процессе уровня. Значение по умолчанию — 10.

  • MaximumConnectionsPerProcess.   Это свойство представляет максимальное число разрешенных подключений службы изолированных решений к рабочему процессу уровня. Значение по умолчанию — 1.

  • PriorityPerProcess.   Это свойство представляет приоритет, который назначается операционной системой рабочим процессам уровня.

Дополнительные сведения об уровнях см. в статьях Использование уровней выполнения для защиты хорошо работающих изолированных решений (https://go.microsoft.com/fwlink/?linkid=220258&clcid=0x419) и Изолированные решения (https://go.microsoft.com/fwlink/?linkid=217145&clcid=0x419). Настройка уровней рассматривается в статье Настройка уровней службы изолированных решений (SharePoint Server 2010).

Общие сведения о квотах и единицах потребления ресурсов

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

Квоты задаются посредством веб-сайта центра администрирования SharePoint как число, управляющее обобщенной суммой единиц потребления ресурсов, разрешенных для использования в день всем изолированным решениям семейства веб-сайтов. Администраторы ферм могут создать шаблон квот, применяемый к любому семейству веб-сайтов фермы. Дополнительные сведения о планировании квот см. в статье Планирование управления квотами (SharePoint Server 2010). Создание шаблонов квот рассматривается в статье Создание, правка и удаление шаблонов квот (SharePoint Server 2010). Настройка максимальной квоты ресурсов для определенного семейства веб-сайтов рассматривается в разделе Изменение пределов хранения для семейства веб-сайтов статьи Manage site collection storage limits (SharePoint Server 2010).

В целях ограничения объема ресурсов, потребляемых изолированными решениями, рекомендуется определить единицы потребления ресурсов. Единицы потребления ресурсов соответствуют заданным уровням потребления ресурсов, которые можно определить максимум для 15 единиц измерения ресурсов (т. е. системных ресурсов, которые требуется отслеживать), и накапливаются для всего семейства веб-сайтов по мере работы изолированных решений. Если просмотреть единицу измерения ресурсов в квоте, можно увидеть объем ресурсов на единицу потребления; это число возможных использований определенного ресурса до накопления одной единицы потребления ресурсов. Для каждой единицы измерения ресурсов администраторы фермы могут настроить следующие свойства:

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

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

  • ResourcesPerPoint.   Число или уровень определенного ресурса, равный одной единице потребления ресурсов и учитываемый в общей квоте семейства веб-сайтов.

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

Пределы для единиц потребления ресурсов по умолчанию подойдут, скорее всего, под большинство ситуаций. Однако их значения можно корректировать индивидуально с учетом конкретных потребностей. Дополнительные сведения об индивидуальной настройке пределов для единиц потребления ресурсов см. в статье Настройка точек ресурсов для изолированных решений (SharePoint Server 2010).

Администраторы ферм могут более детально настроить распределение единиц потребления ресурсов при помощи Windows PowerShell и скрипта настройки распределения отдельных единиц потребления ресурсов в квоте изолированных решений для семейства веб-сайтов. Список отдельных единиц измерения ресурсов, минимальное пороговое значение, абсолютное ограничение и объем ресурсов на одну единицу потребления для каждой единицы измерения ресурсов см. в статье Ограничения на использование ресурсов для изолированных решений в SharePoint 2010 (https://go.microsoft.com/fwlink/?linkid=217149&clcid=0x419). Настройка параметров определенных единиц измерения ресурсов рассматривается в статье Настройка точек ресурсов для изолированных решений (SharePoint Server 2010).

Примечание

Если было выявлено, что изолированное решение постоянно использует ресурсы сервера не по назначению, его можно заблокировать до устранения неполадки разработчиком. Дополнительные сведения о блокировке и разблокировке изолированных решений см. в статье Block or unblock a sandboxed solution (SharePoint Server 2010).

Администрирование изолированных решений

Как администратор фермы, вы можете выполнять следующие действия по администрированию изолированных решений и службы изолированных решений:

  • Включать службу изолированных решений на серверах фермы.

  • Изменять схему балансировки нагрузки в ферме.

  • Блокировать или разблокировать изолированное решение в ферме.

  • Настраивать квоты для семейств веб-сайтов в ферме.

  • Настраивать шаблоны квот в ферме.

  • Использовать Windows PowerShell для выполнения следующих задач:

    • Отображения параметров квот для семейства веб-сайтов.

    • Отображения и настройки единиц потребления ресурсов для определенной единицы измерения ресурсов.

    • Отображения и настройки уровней для службы изолированных решений.

Дополнительные сведения об администрировании изолированных решений и службы изолированных решений см. в разделе Администрирование изолированных решений (SharePoint Server 2010).

Администраторы семейств веб-сайтов могут выполнять следующие действия для администрирования изолированных решений:

See Also

Concepts

Планирование изолированных решений (SharePoint Server 2010)
Администрирование изолированных решений (SharePoint Server 2010)

Other Resources

Центр ресурсов изолированных решений
Архитектура изолированных решений (https://go.microsoft.com/fwlink/?linkid=177368&clcid=0x419)
Изолированные решения в SharePoint 2010
Установка, удаление и обновление изолированных решений в SharePoint 2010
Новые возможности Microsoft SharePoint Server 2010 (Центр ресурсов)