1

数年前(WFが存在する前)、私はカスタムワークフローエンジンに取り組みました。これは次のように機能しました:ワークフロー(定義と呼ばれる)を設計し、特定のタイプの作業項目をその定義に関連付け(例:ワークフロー定義Xはウィジェットを処理します)、1つのインスタンスを作成することにより、さまざまな状態と遷移を通じてその作業項目を処理します作業項目ごとのその定義の。

作業項目はIWorkItemインターフェイスを実装し、一種のステートマシンとして処理できるようにしました(たとえば、現在の状態と、それを制御するためのRun、Stop、Pauseなどの一連のメソッドがありました)。

Windowsワークフローでは、作業項目をどのように定義しますか?SQL Serverデータベースでモデル化されたカスタムエンティティにすることはできますか?特定のフィールドを指定する必要がありますか?コードでそれを表すオブジェクトは、特定のインターフェイスを実装する必要がありますか?基になる行データの観点から、永続性/非永続性にどのように対応しますか?データベースに簡単にクエリを実行して、エンティティの状態を取得するにはどうすればよいですか?

4

1 に答える 1

1

WFの作業項目はワークフロー自体であり、「アクティビティ」(.netアクティビティタイプの1つから派生することで組み込みまたはカスタムメイドが可能)で構成されます。永続性をサポートするために追加できる拡張機能があります。トレースなど。これがフレームワークの良いイントロです

私の個人的な経験では、当時MSFTドキュメントはWF4には適していなかったため、本を読みましたが、今では見栄えが良くなっています。私は、自分のオフィスで実施されている販売プロセスをモデル化するワークフローを実行することができました。営業担当者は、永続テーブルに格納されているデータを提供するWCFサービスに接続するSilverlightクライアントを使用します。また、ワークフローの新しいインスタンスの作成と既存のインスタンスのSQLデータベースへの永続化を管理するワークフローサービスとも相互作用します。既存のインスタンスをクエリする限り、これは非常に簡単です。私の場合、MSFTが提供するインスタンスストアデータベースをインストールし、それらが提供するテーブルの1つにクエリを実行するだけです。

于 2012-07-17T01:42:30.293 に答える