2011-02-24 2 views
0

워크 플로우에서 멍청한 놈입니다!수신 활동 재사용

여러 워크 플로 (이 아닌 서비스로이 아닌)를 호스트하고 싶습니다. 그러나 나는 또한 그들이 공통된 활동 (ActivityX)을 공유하기를 원한다. 이제 ActivityX는 수신 호출을받을 때까지 현재 워크 플로를 차단/유휴 상태로 유지해야합니다.

이 활동을 다시 사용할 수 있습니까? 나는 그것을 서비스, asmx하게 할 필요가있다 고 생각 하느냐? 그런 다음이 호출을 사용할 때까지 기다리지 말고 서비스 호출을 시도하는 워크 플로로이 워크 플로를 끌어 오면이를 사용하는 워크 플로를 차단하는 방법입니다.

아무도 제안 할 수 있습니까? 반드시 수신 활동 일 필요는 없지만 특정 객체 (또는 필요한 경우 매개 변수 세트)가 도착할 때까지 워크 플로우를 유휴 상태로 전환하는 편리한 방법이 필요합니다.

저는 WF 4.0에 대한 아주 열악한 이해에서 뭔가 막혔습니다.

감사합니다.

피트.

답변

2

수신 활동을 사용하는 경우 WorkflowServicehost를 호스트로 사용해야하며 BaseServiceHost의 WCF 인프라에 따라 WorkflowApplication 또는 WorkflowInvoker를 사용할 수 없습니다.

차단 활동 만들기는 북마크를 사용하여 수행됩니다. 책갈피를 만들면 최소한 기본 옵션을 사용하여 해당 책갈피를 다시 시작할 때까지 작업 흐름이 중지됩니다. 실제로 receive 작업은 워크 플로가 WCF 메시지를 기다리는 동안이 작업을 정확하게 수행합니다.