1

SqlWorkflowInstanceStore.WaitForEventsの結果では、実行可能なワークフローのタイプはわかりません。WorkflowApplicationのコンストラクターはワークフロー定義を取得します。少なくとも、ワークフローIDをストアに格納してクエリできるようにする必要があります。これにより、WorkflowApplicationにロードするワークフロー定義を決定できます。

また、カスタムワークフロータイプごとにSqlWorkflowInstanceStoreを作成したくありません。これは、何千もの異なるワークフローが存在する可能性があるためです。

WorkflowServiceHostを使用することを考えましたが、すべてのワークフローに受信アクティビティがあるわけではなく、それぞれが異なるワークフロータイプをサポートする何千ものWorkflowServiceHostを実行することは現実的ではないと思います。

理想的には、実行可能なワークフローについてデータベースにクエリを実行し、そのワークフロー定義IDを決定し、ワークフロー定義テーブルから適切なXAMLをロードし、ワークフロー定義を使用してWorkflowApplicationをインスタンス化し、LoadRunnableInstance()を呼び出します。

SqlWorkflowInstanceStoreによって生成された特定のHasRunnableWorkflowEventに関連するワークフローを(カスタムワークフロー定義IDとともに)関連付ける方法、または実行時に作成される数千の異なるカスタムワークフロータイプをサポートする別の方法が必要です。また、複数のアプリケーションサーバー間でワークフローの実行を負荷分散する必要があります。

4

1 に答える 1

1

Microsoft から無料の製品があり、そこに書かれているほとんどすべてのことを実行できます。ああ、それも素晴らしいです。

Windows Server AppFabric。いいえ、Azure ではありません。 http://www.microsoft.com/windowsserver2008/en/us/app-main.aspx

-オイシン

于 2011-05-13T03:04:48.070 に答える