После выполнения некоторого рефакторинга моей службы WF4, я получил это исключение при вызове некоторых операций:Почему я получаю исключение «Выполнение InstancePersistenceCommand имени LoadWorkflowByInstanceKey было прервано из-за ошибками»
The execution of the InstancePersistenceCommand named {urn:schemas-microsoft-com:System.Activities.Persistence/command}LoadWorkflowByInstanceKey was interrupted by an error.
Мой файл xamlx содержит несколько пар receive/sendreplytoreceive, как показано ниже. Исключение иногда происходит при получении2, иногда receive3.
- Receive1 (отсутствие корреляции, cancreateinstance = истина)
отправить ответ получить (инициализирует корреляцию контента на генерируемой ID)
receive2 (коррелирует с ID, cancreateinstance = ложь)
Отправить ответ для получения
получить 3 (коррелирует на ID, cancreateinstance = false)
- отправить ответ получить
После этого много отладки и убедившись, что все корреляции, где установлены прямо, исключение исчезли новые экземпляры процесса.
Что означает исключение и почему оно появилось и почему оно внезапно исчезло? Это проблема кода/xamlx или что-то с инфраструктурой (AppFabric/SQL)?
У меня есть служба WF с IIS/AppFabric, использующая постоянство SQL-приложений AppFabric.
Теперь я провел еще несколько тестов. Исключение приходит и уходит. Для некоторых экземпляров wf все вызовы проходят без ошибок, другие экземпляры терпят неудачу, обычно при получении3. – jonsb
Я не уверен в верхней части головы, что вызывает проблему, - однако вы можете подумать о том, чтобы прочитать эту краткую статью в блоге, чтобы вы могли получить то, что я считаю самым удивительным журналом, доступным для WF (спасибо @Ron Jacobs !) http://blogs.msdn.com/b/rjacobs/archive/2011/12/16/troubleshooting-workflow-services-with-diagnostic-logging.aspx –
@jonsb с той же проблемой ... но мой стойкий ... – Leonardo