2009-09-03 4 views
1

나는 WF에 머리를 쓰려고 노력하고있다. SQL 지속성 서비스를 사용하여 장기 실행 워크 플로가 저장되는 상태 시스템 워크 플로를 시각화합니다.뛰어난 워크 플로우 목록은 어디에서 얻을 수 있습니까?

사용자에게 두 가지 이상의 뛰어난 워크 플로가 할당되었을 수 있습니다. 나는 두 가지를 해결할 수 없다.

  1. 뛰어난 워크 플로우 목록을 얻으려면 어떻게해야합니까?
  2. 특정 사용자에 대한 워크 플로 목록을 얻으려면 어떻게해야합니까?

각각의 단어가 더 낫지 않아야합니까? 각 단어를 반복해서 읽거나 무언가를 놓치고 있습니까?

답변

2

해당 질문에 대해 하나 이상의 옵션이 있습니다.

워크 플로 자체는 사용자와 아무 관련이 없습니다. WorkflowFoundation은 사용자의 워크 플로가 전혀 무엇인지 알지 못하기 때문입니다. 따라서 사용자가 데이터베이스에서 다시 워크 플로를 가져 오려면 추가 정보를 제공해야합니다.

첫 번째 옵션은 WF 추적 기능을 사용하여 추적 데이터베이스에서 실행중인 워크 플로의 첫 번째 단계 중 하나로 연결된 사용자를 저장하는 것입니다. 따라서 나중에 특정 사용자가 첨부 된 추적 레코드가있는 모든 워크 플로 인스턴스 ID에 대해 SQL 데이터베이스를 쿼리 할 수 ​​있습니다.

두 번째 옵션은 사용자와 실행중인 워크 플로 ID 간의 관계를 보유하는 사용자 지정 테이블로 데이터베이스를 확장하는 것입니다. 이 테이블은 사용자가 시작한 새 워크 플로의 경우 채워지며 워크 플로가 끝나거나 실행 중 예외가 발생하면 연결된 레코드를 지워야합니다.

+0

첫 번째 옵션의 의미를 이해하려면 약간의 독서가 필요합니다. 두 번째 옵션의 경우 SQL 지속성 서비스를 확장하거나 별도의 테이블에 작성하는 사용자 지정 활동 만 제안 하시겠습니까? – serialhobbyist

+0

첫 번째 옵션의 경우 Activity에서 TrackData 메서드를 사용하여 키/값 쌍을 데이터베이스에 쓸 수 있습니다. 자신의 테이블을 작성하는 데 사용자 지정 활동 경로를 사용합니다. – Mischa

+0

답장을 보내 주셔서 감사합니다. – serialhobbyist