Асинхронный вызов из кнопки управления Webpart в MOSS 2007

У меня есть веб-часть в Moss 2007, которая перебирает заданный список с помощью API Sharepoint и устанавливает в качестве значения поля какое-то предопределенное значение. В основном массовое редактирование списка.

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

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

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

PS. В проекте нет страницы.aspx, просто прямой класс, который имеет createchildcontrols и другие функции.

PSS. У меня очень мало контроля над web.config или чем-то в этом роде на самом сервере

1 ответ

Решение

Можете ли вы создать пользовательское задание таймера, которое выполняет массовое редактирование, и веб-часть просто добавит элементы для обработки задания таймера.

Если вы можете развернуть веб-службу в ферме, вы можете переписать свою веб-часть, чтобы использовать AJAX для вызова веб-службы для выполнения работы.

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

Другие вопросы по тегам