1

私は現在、アプリケーションで WF を使用する方法の開発を担当しており、従う必要がある一連の要件があります。

  • ワークフローを純粋にテキストで定義できるようにする必要があるため、ワークフローを保存して実行のために取得できます。
  • ワークフローの実行中に、アクティビティ間で DataObject を渡して操作を実行できるようにする必要があります。
  • アクティビティは外部クラスによって定義されます。アクティビティは、アクティビティを定義するクラスのインスタンスにアクセスして、そのメソッドを呼び出すことができる必要があります。

私は WF を研究しており、いくつかの解決策を考え出しましたが、それらが最良のものかどうかはわかりません。

私の最大の問題の 1 つは、アクティビティを定義するクラスのインスタンスをアクティビティで利用できるようにすることです。ワークフロー ランタイムにアクティビティ ファクトリなどを提供する方法はありますか? もう 1 つの問題は、Pure XAML ワークフロー定義の使用に起因します。ワークフローで使用できるように、DataObject を最初のアクティビティに渡すことができる必要があります。

問題を説明するのが少し難しいですが、十分に明確であることを願っています。

どんな助けでも大歓迎です。ありがとう。

4

4 に答える 4

1

あなたが何をしたいのか完全に理解しているかどうかはよくわかりませんが、カスタムローダーを見たいと思うかもしれません:

http://msdn.microsoft.com/en-us/magazine/cc507645.aspx

http://www.masteringbiztalk.com/blogs/jon/CommentView,guid,ffd20921-fb8b-42a2-98d1-8c8e1582a3fa.aspx

于 2009-01-26T18:16:29.190 に答える
1

XOML ワークフローのコンテキスト内で使用される外部アクティビティをランタイムに提供することに関連して、ランタイムに TypeProvider サービスを追加する方法を見てください。

TypeProvider provider = new TypeProvider(runtime);
provider.AddAssembly(assembly);
runtime.AddService(provider);

また、DataObject タイプの DependencyProperty を持つルート アクティビティを定義することも検討してください。そのベース タイプの XOML ベースのワークフローのルート アクティビティを作成します。その後、問題なくオブジェクトをパラメータとして XOML ベースのワークフローに渡すことができるはずです。

于 2009-01-26T14:30:41.597 に答える
0

WorkflowLoaderService私が探していたクラスだと思います。

それはそれを行う必要があります。ありがとう。

于 2009-01-26T18:58:58.997 に答える
0

調べてみましたTypeProviderが、アクティビティの新しい場所しか追加できないようです。ただし、ランタイムはアクティビティ自体をインスタンス化し続けます。コンストラクターにいくつかの引数を渡すことができるように、それらをインスタンス化できるようにしたかったのです。

あなたが説明した方法で、DataObjectの問題をほぼ解決しました。

于 2009-01-26T15:57:58.330 に答える