Тайм-аут решения песочницы SharePoint 2010 - PullRequest
4 голосов
/ 20 апреля 2011

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

Ответы [ 2 ]

8 голосов
/ 20 апреля 2011

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

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

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

Следующий код может использоваться для настройки тайм-аута на запрос:

SPUserCodeService.Local.WorkerProcessExecutionTimeout = 40;
SPUserCodeService.Local.Update();

Вы должны иметь возможность настроить время выполнения ЦП примерно так:

SPUserCodeService.Local.ResourceMeasures["CPUExecutionTime"].AbsoluteLimit = 50.0;
SPUserCodeService.Local.Update();

Чтобы изменения вступили в силу, необходимо перезапустить службу изолированного кода Microsoft SharePoint Foundation.

0 голосов
/ 21 февраля 2017

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

$uc=[Microsoft.SharePoint.Administration.SPUserCodeService]::Local
$uc.WorkerProcessExecutionTimeout = 60
$uc.ResourceMeasures["CPUExecutionTime"].AbsoluteLimit = 120
$uc.Update()
...