2013-07-04 1 views
1

Я пытаюсь программным образом запустить рабочий процесс по нескольким элементам одновременно из списка sharepoint 2007, я нашел код для запуска рабочего процесса программным путем, но проблема в том, что рабочие процессы не запускайте одновременно, то есть рабочий процесс запускается, завершается, а затем только начинается, чтобы начать следующий рабочий процесс. Может ли кто-нибудь мне помочь здесь?Запуск sharepoint 2007 рабочих процессов одновременно в элементах списка с использованием задания таймера

foreach (SPListItem item in collListItems) 
{ 
    item["timerJobInitiated"] = "Yes"; 
    item.Update(); 
    SPListItem wrkItem = list.GetItemById(item.ID); 
    wrkflowmgr.StartWorkflow(wrkItem , wflassociation,wflassociation.AssociationData); 
} 
+0

предоставьте дополнительную информацию о работе таймера и о том, что такое «timerJobInitiated». –

+0

Перемещение файлов рабочего процесса между местоположениями. Поле «timerJobintitated» имеет значение «да», чтобы рабочий процесс знал, что экземпляр запускается по заданию таймера, а не «вручную». В основном я попытался удалить обновление timerjobintitated, даже тогда проблема сохраняется. Я задаюсь вопросом, должен ли я устанавливать статус моего рабочего процесса в коде, который должен быть запущен по методу workflowactivated. Поскольку в моем коде на данный момент я не изменяю состояние/состояние рабочего процесса и не позволяю sharepoint обрабатывать его. – Godwin

ответ

0

Я, наконец, смог достичь этого, используя многозадачность, путем запуска рабочих потоков в потоках. Это обеспечило желаемую функциональность. Я обновил весь код here, так как его слишком долго, чтобы его можно было разместить здесь.

+2

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

+0

Не могли бы вы прояснить свой ответ, отредактировав его. –

+0

Гиперсвязь текст «здесь» с блогом объяснения .. – Godwin

1

Как вы правильно использовали метод StartWorkflow - нет одновременного способа запуска рабочих процессов для нескольких элементов списка одновременно. Вы можете запустить только один элемент списка за другим.

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

+0

Рабочий процесс начинается, и статус рабочего процесса элемента изменяется на «Выполняется», однако следующий элемент в цикле, где должен начинаться рабочий процесс, не изменяется до тех пор, пока в предыдущем пункте не будет изменено значение «Выполнено». Его последовательный рабочий процесс в списке, который я пытаюсь запустить с пользовательского Задание таймера. – Godwin

Смежные вопросы