Sharepoint Workflow: как получить «BeforeProperties» в обработчике события WorkflowItemChanged - PullRequest
0 голосов
/ 07 мая 2009

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

Мое состояние имеет активность "OnWorkflowItemChanged". В этом упражнении я связал «AfterProperties» и «BeforeProperties», которые создали следующие элементы в коде:

public Hashtable m_listItemBefore = new System.Collections.Hashtable();
public Hashtable m_listItemAfter = new System.Collections.Hashtable();

Затем я добавил метод к событию Invoked в упражнении и подумал, что все будет в порядке. Однако, когда код достигает моей вызванной функции, объект m_listItemAfter содержит всю новую информацию, но m_listItemBefore остается пустым.

Аналогично, если я получу доступ к элементу списка напрямую через:

this.workflowProperties.Item["field name"]

Я также получаю новые значения.

Логика моего рабочего процесса требует, чтобы я видел, что они изменили данные ОТ, а также новые значения. Есть идеи, что я тут делаю не так?

1 Ответ

1 голос
/ 08 мая 2009

Я считаю, что BeforeProperties доступны только в синхронных событиях (ItemAdding, ItemUpdating) и не в асинхронных событиях (ItemAdded, ItemUpdated).

Это довольно обидно и немного беспокоило меня в прошлом, но я уверен, что это правильно. Так что, если вам действительно нужны свойства BeforeProperties, вам нужно прибегнуть к синхронному событию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...