1

WorkflowFoundation 4.1 を使用してステート マシン ワークフローを実装しました。ワークフローの読み込みと実行に SQL Server 永続ストアと WorkflowApplication クラスを使用しています。

ステート マシンのワークフロー モデルに変更を加えているところ、既存のインスタンスが非常に簡単に壊れてしまうことがわかりました。ワークフローを正しい状態に再生できるコードを作成しました。これは基本的に移行であり、正常に動作しますが、古いワークフロー インスタンスもクリアできる必要があります。

主な問題は、ワークフローが無効な場合、ワークフローをロードすることさえできないため、ワークフローを終了またはキャンセルできないことです。

ワークフロー API を使用してワークフローをロードせずに削除する方法はありますか (つまり、SqlPersistenceStore のコマンド)、またはデータベースを手動でクリーンアップする必要がありますか?

4

1 に答える 1

2

SqlWorkflowInstanceStore では、直接これを行うことはできません。データベースに移動して、そこにあるレコードを削除する必要があります。AppFabric を使用している場合、ワークフロー インスタンスを最初にロードせずに削除するコマンドが実際にあります。コードを使用してこれを行うには、PowerShell コマンドが必要です。

于 2012-09-01T09:22:16.673 に答える