2009-09-03 9 views
1

私は自分の頭をWFの周りにしようとしています。私は、SQL永続性サービスを使用して格納される長期実行ワークフローを備えた状態マシンワークフローを視覚化しています。優れたワークフローのリストはどこから入手できますか?

ユーザーには、複数の未処理のワークフローが割り当てられている場合があります。私は2つのことを解決することはできません。

  1. 未解決のワークフローのリストを取得するにはどうすればよいですか?
  2. 特定のユーザーのワークフローの一覧を取得するにはどうすればよいですか?

私はアンパサイズ(それよりも良い言葉が必要です)をして、それを繰り返すか、何か不足していますか?

答えて

2

この質問には複数のオプションがあります。

ワークフロー自体は、ユーザーと関係がありません。なぜなら、WorkflowFoundationはあなたのワークフローがまったく何であるかを知らないからです。したがって、ユーザーのワークフローをデータベースから取得するための追加情報を提供する必要があります。

最初のオプションは、WF追跡機能を使用して、追跡データベース内の実行中のワークフローの最初の手順の1つとして関連付けられたユーザーを格納することです。したがって、後で、指定されたユーザーを添付して、そのような追跡レコードを持つすべてのワークフローインスタンスIDをSQLデータベースに照会できます。

2番目のオプションは、ユーザーと実行中のワークフローIDとの関係を保持するカスタムテーブルを使用してデータベースを拡張することです。このテーブルは、ユーザーのために開始された新しいワークフローの場合に満たされ、関連するレコードは、ワークフローが終了するか、実行中に例外が発生したときにクリアする必要があります。

+0

最初のオプションの意味を理解するには、読んでみる必要があります。 2番目の選択肢として、SQL永続性サービスを拡張することを提案するか、カスタムアクティビティを別のテーブルに書き出すことを提案しますか? – serialhobbyist

+0

最初のオプションでは、アクティビティでTrackDataメソッドを使用して、キーと値のペアをデータベースに書き込むことができます。 自分のテーブルを書くために、私はカスタムアクティビティルートに行きます。 – Mischa

+0

さて、お返事いただきありがとうございます。 – serialhobbyist

関連する問題