1

SqlWorkflowInstanceStore.WaitForEvents의 결과로 어떤 워크 플로 유형이 실행 가능한지 알 수 없습니다. WorkflowApplication의 생성자는 워크 플로 정의를 사용하며 적어도 워크 플로 ID를 저장소에 저장하고 쿼리하여 워크 플로 정의를로드 할 워크 플로 정의를 결정할 수 있어야합니다.SqlWorkflowInstanceStore를 사용하여 지속 된 런타임에 사용자 정의 워크 플로를 수신,로드 및 실행하려면 어떻게해야합니까?

수천 개의 서로 다른 워크 플로가있을 수 있으므로 각 사용자 지정 워크 플로 유형에 대해 SqlWorkflowInstanceStore를 만들고 싶지 않습니다.

WorkflowServiceHost를 사용하려고 생각했지만 모든 워크 플로에 Receive 활동이있는 것은 아니며 수천 개의 WorkflowServiceHosts를 실행하고 각각 다른 워크 플로 유형을 지원하는 것이 타당하지 않을 것이라고 생각합니다.

이상적으로는 실행 가능한 워크 플로에 대해 데이터베이스를 쿼리하고 해당 워크 플로 정의 ID를 확인하고 워크 플로 정의 테이블에서 적절한 XAML을로드하고 WorkflowApplication을 워크 플로 정의로 인스턴스화하고 LoadRunnableInstance()를 호출하기 만하면됩니다.

(사용자 지정 워크 플로 정의 ID와 함께) 주어진 HasRunnableWorkflowEvent와 관련된 워크 플로를 상관 시키거나, 수천 가지 다른 사용자 지정 워크 플로 유형을 지원하는 대체 방법을 갖고 싶습니다. 런타임에. 또한 워크 플로 실행을 여러 응용 프로그램 서버간에로드 균형 조정해야합니다.

답변

0

Microsoft에서 무료로 제공하는 제품 중 여러분이 말한 거의 모든 것을 수행 한 다음 그 중 일부는 수행합니다. 아, 그리고 너무 훌륭합니다.

Windows Server AppFabric. 아냐. http://www.microsoft.com/windowsserver2008/en/us/app-main.aspx

+0

-Oisin 이미 워크 플로우를 실행하기 위해 NServiceBus 메시지를 허용하는 Windows 서비스를 실행하고 있습니다. 나는 WorkflowApplication 객체를 사용하고 싶었다. 또한 Receive 활동으로 시작하지 않는 워크 플로도 있습니다. SqlWorkflowInstanceStore에 전달 된 명령을 통해 또는 데이터베이스에서 직접 액세스 할 수있는 사용자 지정 속성을 저장하는 방법을 알고 있습니까? – anvilis

+0

워크 플로는 하위 워크 플로를 호출 할 수 있습니다. 이러한 워크 플로를 하위 워크 플로로 시작하기위한 스텁 WCF worflow 서비스를 만드는 것이 고려 되었습니까? 그럼 당신은 appfabric을 사용할 수 있습니다. 하위 워크 플로에는 수신 이벤트가 필요하지 않습니다. Appfabric은 지속성, 추적 및 모니터링,로드 밸런싱 및 자동 확장 기능을 제공합니다. – x0n

+0

하위 워크 플로를 호출하는 단일 워크 플로 유형을 어떻게 만들 수 있습니까? 수천 개의 사용자 생성 워크 플로 유형을 지원해야합니다. – anvilis

관련 문제