5

3 つの受信アクティビティが順番に配置された wcf ワークフローがあります。すなわち

1. アプリケーションの受信 2. マネージャ 1 の承認 3. 最終的なマネージャの承認 私の問題は、クライアント アプリケーションからワークフローを使用して、最初のアプリケーション (アプリケーション アクティビティの受信) を呼び出すことができることですが、2 番目のアプリケーションを呼び出そうとすると (マネージャ 1 の承認の受信)アクティビティ) 次のエラーが表示されます

インスタンス '16c3dae0-92f5-45e8-bdaf-d6f4051a0a39' がまだインスタンス ストアに保存されていないため、InstancePersistenceCommand の実行が中断されました。

データベース (インスタンス ストア テーブル) を確認したところ、レコードが存在するようです。この記事で指定されている相関関係もセットアップしました 助けてください、これは緊急です

4

2 に答える 2

5

私は最終的に何が問題なのかを理解しました。3日かかりました。

以下を追加する必要がありました。

<serviceBehaviors>
  <behavior>
    <workflowIdle timeToUnload="0"/>
  </behavior>
</serviceBehaviors>

詳細については、この記事を参照してください。

注意: 私のワークフローは、(マシン構成から) 1 分のデフォルトの timeToUnload 値を取得していました。つまり、ワークフローで次の受信アクティビティを呼び出したとき、ワークフローはまだメモリ内にありました。(本当に奇妙です)

于 2011-01-11T12:14:53.820 に答える
1

GUID は正しいものですか? WF4 ランタイムは、既存の GUID が見つからない場合に新しい GUID を生成し、混乱を招くエラー メッセージが表示されることがあります。また、名前空間を変更すると、相関クエリにブレーキがかかります。そのため、それらを再作成するか、XAML に移動して修正する必要があります。

于 2011-01-11T07:05:16.487 に答える