0

Я пишу пользовательский рабочий процесс SP 2010 в VS 2010. При работе с образцом, найденным здесь (http://msdn.microsoft.com/en-us/library/hh824675(v=office.14).aspx). Я столкнулся с ошибкой с OnTaskCreated (http://support.microsoft.com/kb/970548) ... хотя сообщение SP Services 3.0 все еще кажется, что ошибка существует для SP 2010. Обходной путь состоял в том, чтобы создать хороший приемник событий ol в Visual Studio; теперь все работает отлично.Пользовательские рабочие процессы SharePoint 2010 - просто причудливое имя для приемников событий?

Это заставило меня подумать, что, возможно, я должен был просто построить все это с помощью приемников событий в первую очередь! Что мне не хватает? Что делают рабочие процессы VS для SharePoint, которые не нужны получателям событий VS?

ответ

3

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

(Обратите внимание, что это наиболее важная концептуальная разница, очевидно, что существует некоторое количество различий нижнего уровня на реализации, а не на концептуальном уровне.)