Активация функций прекращена, если код работает слишком долго (SP 2010)
-
29-09-2020 - |
Вопрос
Возможно ли, что активация функции не удастся или неожиданно закончится (без любых исключений в uls), когда требуется слишком долго для кода, чтобы закончить работу?
У нас есть функция, которая во время активации выполняет некоторую аналитическую работу на уже существующих элементах списка, и она работает довольно долгое время (более 30 минут).Я также пытался ограничить количество предметов во время расследования, а чем функция отлично работала.Кажется, что-то похожее (.NET или IIS, может быть, сам SharePoint) является прекращением потока, где код работает через некоторое время, но это просто мое предположение ...
<Сильное> Обновление Редактирование файла Web.config в каталоге «14 Layouts Hive» - это так, как решить это.Если вы не хотите использовать PowerShell, вы также можете добавить это в файл inetpub web.config среди других тегов местоположения:
<location path="_layouts/ManageFeatures.aspx">
<system.web>
<httpRuntime executionTimeout="7200" />
</system.web>
</location>
.
Я устанавливаю его до 2 часов, чтобы быть уверенным :)
Решение
Проблема в том, что активирующаяся функция через страницу «MANTERFEATURES.ASPX» означает, что запрос на активацию функции обрабатывается ASP.NET и как таковой, подлежит той же правилам, которые регулируют любой запрос ASP.NET, в том числеМаксимальное время выполнения. Это значение тайм времени может быть изменено путем изменения «Web.config» в корне в каталоге макета.Фактическое значение, необходимое для изменения, - это атрибут, называемый «ExecutionTimeOut» в элементе «HTTPRUNTIME».Пример показан пример, были ли время ожидания выполнения были изменены на десять минут.
<httpRuntime executionTimeout="600" />
.