2011-07-28 2 views
0

각 시퀀스에 ReceiveAndSendReply 활동으로 구성된 3 개의 Sequences 활동이있는 WWF가 있습니다.WF 서비스 호출 순서 Problme

Ex: 
Sequence A 
ReceiveA (ApplicationObject) 
SendReplyA(ApplicationObject)-> initialize correlation with the user defined ID (ApplicationObject.id) 
Sequence B 
ReceiveB (ApplicationObject) -> correlation on with the ID 
SendReplyB (Boolean) 
Sequence C 
ReceiveC (ApplicationObject) -> correlation on with the ID 
SendReplyC (Boolean) 

세 가지 서비스가 세 단계로 호출됩니다. 나는 두 가지 문제

1) 시퀀스 B까지의 흐름을 잘 작동을 가지고,하지만 ReceiveC를 호출 할 때, 나는 InstancePersistenceCommand의 실행이 중단 된

클라이언트 측에서 오류를 가지고 있기 때문에 인스턴스 키 ' 8f7ff672-1aba-35f1-f7d8-7dca44343be7 '이 (가) 인스턴스에 연결되지 않았습니다.

2) 때때로 ReceiveB를 반복해서 호출하려고합니다. 하지만 두 번째로 ReceiveB를 호출하면 다음과 같은 오류 메시지가 나타납니다.

운전 'ApplicationScreeningRequest는 | {} http://tempuri.org/ IApplicationService'858ce665-6785-4840-8812-d277b2574a10 '식별자를 갖는 서비스 인스턴스는이 시점에서 수행 될 수 없다. 작업이 올바른 순서로 수행되고 사용중인 바인딩이 주문 된 배달 보증을 제공하는지 확인하십시오.

아무도 내가이 문제를 해결할 수 있도록 도와 줄 수 있습니까?

답변

1

어쩌면 뭔가 빠졌지 만 일반적으로 ReceiveB를 처음 호출하면 워크 플로가 시퀀스 C로 진행됩니다. 그 시점에서 ReceiveB는 더 이상 활성화되어 있지 않으며 후속 호출이 실패합니다.

마찬가지로 ReceiveC를 호출하고 ID가 연결된 ID가 ReceiveB에있는 인스턴스는 실패합니다.

각 받기에서 워크 플로의 새 인스턴스를 시작 하시겠습니까? 그것이 사실이고 이것이 WF4라면 유비 쿼터스 인 MauriceWorkflow Receive activity and message correlation에 멋진 블로그 항목을 가지고 있습니다.