|
WWF + WCF проблема с корреляцией Receive
|
|||
---|---|---|---|
#18+
Есть сервис WCF, config: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39.
Далее скрин главного Activity Первый входящий блок "CreateNewObject" получает данные через Receive, потом из входных данных создается объект Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Далее пытался опять получить данные, т.е. Activity должен был остановиться и ждать команды из-вне, он останавливается, в базу сохраняется, далее задержка примерно в 3-4 сек (чтоб толкнуть тестовое консольное приложение) вываливается ошибка, ошибки разные при разных настройках кореляции, приведу ниже. Скрин активити который должен возобновить действие: Скрин настроек кореляции: Передается в Receive объект (ААА), по нему и пытался делать корреляцию (если я вообще правильно понимаю как ее делать) параметры полей одинаковы, что у того что переадаваля в "Receive", что у того что создавался на шаг выше, пробовал у класса ААА перегрузить хешкод, чтоб всегда было одно значение Код клиента, возобновляющего процесс: Код: c# 1. 2. 3. 4. 5. 6. 7.
И текст ошибки при выборе CorrelationInitializers = QueryCorrelationInitializer Если не указан LoadWorkflowByInstanceKeyCommand.AssociateLookupKeyToInstanceId, то необходимо заранее связать LookupInstanceKey с экземпляром. В противном случае команда LoadWorkflowByInstanceKeyCommand завершится ошибкой. Поэтому нельзя указывать LookupInstanceKey в коллекции InstanceKeysToAssociate, если не задан AssociateLookupKeyToInstanceId. при выборе CorrelationInitializers = (RequestReplyCorrelationInitializer, ContextCorrelationInitializer, CallbackCorrelationInitializer) Выполнение InstancePersistenceCommand прервано, поскольку ключ экземпляра "4ee03fe1-2b80-89e8-1374-54f043553cb9" не связан с экземпляром. Возможно, экземпляр или ключ были очищены либо ключ является недопустимым. Ключ может быть недопустимым, если сообщение, из которого он создан, отправлено в неверное время или содержит неверные данные корреляции. Вопрос - как правильно настроить корреляцию, или чего еще - чтобы можно было продолжить выполнение Activity? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2014, 12:59 |
|
WWF + WCF проблема с корреляцией Receive
|
|||
---|---|---|---|
#18+
В первом приближении поборол, сильно помогла статейка: http://xhinker.com/post/WF4Correlate-Multiple-Receive-Activities.aspx По крайней мере состояние начало сохраняться и подыматься при использовании утилиты WcfTestClient.exe .... Заработало: Если делал сервис референс с консольного приложения, но не работало до тех пор пока в настройках ИИС-а не убрал галку "Включить сжатие статического содержимого" Тут еще можно порыться, но уже на верном пути, еще подскажите - в каком случае необходимо настраивать CorrelationInitializers? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.06.2014, 20:16 |
|
|
start [/forum/topic.php?fid=19&fpage=9&tid=1396977]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
32ms |
get tp. blocked users: |
2ms |
others: | 260ms |
total: | 367ms |
0 / 0 |