Асинхронный вызов из кнопки управления Webpart в MOSS 2007
У меня есть веб-часть в Moss 2007, которая перебирает заданный список с помощью API Sharepoint и устанавливает в качестве значения поля какое-то предопределенное значение. В основном массовое редактирование списка.
Для небольших списков веб-часть прекрасно работает. Но когда я работаю со списком, содержащим большое количество элементов, я получаю внутреннюю ошибку или тайм-аут запроса.
Есть ли способ, которым я могу нажать на кнопку и в фоновом режиме выполнять действия асинхронно, чтобы отправителю не приходилось ждать завершения операции, или можно получить сообщение позже?
Как бы я это сделал? Спасибо заранее, нужна вся помощь, которую я не могу получить.
PS. В проекте нет страницы.aspx, просто прямой класс, который имеет createchildcontrols и другие функции.
PSS. У меня очень мало контроля над web.config или чем-то в этом роде на самом сервере
1 ответ
Можете ли вы создать пользовательское задание таймера, которое выполняет массовое редактирование, и веб-часть просто добавит элементы для обработки задания таймера.
Если вы можете развернуть веб-службу в ферме, вы можете переписать свою веб-часть, чтобы использовать AJAX для вызова веб-службы для выполнения работы.
Другой вариант - создать фоновые темы для вашей веб-части, но я бы очень настороженно отнесся к этой опции. Мало того, что управление потоками затруднено, но и они будут выполняться в рабочем процессе IIS SharePoint, таким образом увеличивая возможность для вашей веб-части отключить сайт.