Рабочий процесс Windows 4.0 InstancePersistenceCommand Ошибка - PullRequest
5 голосов
/ 11 января 2011

У меня есть рабочий процесс wcf, в котором три действия получения организованы последовательно. * 1001 то есть *

1. получить заявку 2. Менеджер1 утверждение 3. окончательное утверждение менеджера Моя проблема в том, что я могу использовать рабочий процесс из моего клиентского приложения и вызвать первое (действие получения приложения), однако, когда я пытаюсь вызвать второе (утверждение получения утверждения manager1), я получаю следующую ошибку

Выполнение InstancePersistenceCommand было прервано, потому что экземпляр '16c3dae0-92f5-45e8-bdaf-d6f4051a0a39' еще не сохранен в хранилище экземпляров.

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

Ответы [ 2 ]

5 голосов
/ 11 января 2011

Привет, ребята, я наконец понял, в чем проблема. (Это заняло у меня три дня). Мне просто нужно было добавить следующее

<serviceBehaviors>
    <behavior>
    <workflowIdle timeToUnload="0"/>
</behavior>

Вы можете получить более подробную информацию в этой статье NB. Мой рабочий процесс получал значение timeToUnload по умолчанию, равное 1 минуте (из конфигурации машины). То есть, когда я вызвал следующее действие получения в моем рабочем процессе, рабочий процесс все еще находился в памяти (действительно странно)

1 голос
/ 11 января 2011

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

...