2010-04-01 5 views
2

WorkflowServiceHost에서 호스팅되는 워크 플로 서비스에 대해 두 가지 방법이 있습니다.Workflow Foundation 4 WorkflowServiceHost 메시지 상관

첫 번째 메서드가 호출되어 다른 웹 서비스, 데이터베이스 작업 등과 이야기하지만 일부 경우에는 지연 활동과 마찬가지로 잠시 멈추고 db에 지속되어 일부 인간 행동이 발생할 때까지 기다립니다. 계속하기 전에 일어나십시오.

이 두 번째 방법은이 지속 된 워크 플로에 연결하고 로컬 변수를 변경 한 다음 처리를 계속할 수 있어야합니다.

워크 플로의 메시지 기반 상관 관계를 살펴 보았지만 어떤 종류의 무한 while 루프가 워크 플로 인스턴스를 활성 상태로 유지하여 두 번째 서비스 메서드 호출이 여전히 실행되는 동안 도착할 수있는 예제 만 찾을 수 있습니다.

내 워크 플로 인스턴스가 지연되고 지속되므로 두 번째 서비스 호출이 어디에도 표시되지 않습니다 (워크 플로 인스턴스를 활성 상태로 유지하면서 루프를 반복 할 수 없음).

나는 이것이 의미가 있기를 바랍니다 - 환호!

답변

1

여기에 문제가 있으십니까? 그렇다면 무슨 일이 일어나고 있는지 또는 어떤 오류가보고 있습니까?

내가 물어 보는 이유는 이것이 작동해야한다는 것입니다. WorkflowServiceHost는 메시지를 수신하고 필요한 경우 지속성 저장소에서 워크 플로를로드하고 워크 플로에서 책갈피를 다시 시작합니다 (수신 활동은 표지 아래에서 책갈피를 사용함).

+0

예외는 발생하지 않지만 두 번째 서비스 호출은 아무 것도하지 않는 것 같습니다. 로컬 변수가 변경되어 콘솔 창으로 출력되지만 아무 일도 일어나지 않을 것으로 예상했습니다. 첫 번째 메서드 호출이 지연 작업을 트리거했기 때문에 아무 것도하지 않을 것입니다. 데모 애플 리케이션을 문제 해결사 이메일 주소로 이메일로 보내 주시겠습니까? 건배! – Lygpt

0

두 번째 서비스 호출에 CanCreateInstance가 true로 설정되고 상관 관계가 올바르게 구성되어 있지 않은지 확인하십시오. 다른 포스터 언급했듯이,이 문제가 작동하지합니다.

1

Receive가 Delay Finishing을 수행 할 수있게하려면, 두 번째 Receive 활동과 함께 PickBranch에 지연 활동을 넣어야합니다. 지금까지 설명했듯이 지연 활동으로 인해 수신 활동이 실제로 북마크를 등록한 지점으로 진행되지 않습니다.

관련 문제