Simple State Machine for Booに基づく階層型ステートマシンフレームワークであるステートレスに出くわしましたが、C#3.0を使用して構成されています
設定と使用は簡単です。おそらくすぐに使用します。
しかし、私はただ疑問に思っていました
- 誰もが実際のプロジェクトにステートレスを使用しました(もしそうなら、あなたの意見は何ですか?)
- .NET用の他の優れたワークフローエンジンはありますか?(WF以外)
Simple State Machine for Booに基づく階層型ステートマシンフレームワークであるステートレスに出くわしましたが、C#3.0を使用して構成されています
設定と使用は簡単です。おそらくすぐに使用します。
しかし、私はただ疑問に思っていました
私は、いつか実稼働する予定のアプリにステートレスと WF を使用してきました。:) これまでの経験については、こちらの投稿で詳しく説明しています。
全体として、WF よりも多くのことを簡単に行えるため、私は Stateless を好みます。確かに、ワークフローをグラフィカルに設計できるのは便利ですが、シーケンシャル ワークフローよりも難しいもの (ステート マシン ワークフローなど) を実装する必要がある場合は、適切な状態遷移を行うためだけに ExternalDataExchange を使用する必要があります。おそらく難しいことではありませんが、それと、ワークフローを一時停止するために永続化サービスを実装する必要があるという事実を考えると、私には魅力的ではないように思えました. とにかく、後で実行するためにワークフローをディスクに保持する必要はありません...そのため、ステートレスでこれを処理するために通常のイベントを使用します。エラー処理は Stateless で簡単に実行できます (私は成功しています) が、私が取った実装には疑問があり、別の議論のトピックです (これについて 私はSOで今探しています!)。これに関する質問をすぐに投稿するかもしれません。
ステートレスで頑張ってください。あなたがそれをどのように進めてきたかをお聞きしたいと思います。
ワークフローファンデーションの場合は、WF4を使用できるように、グリーンプロジェクトにのみ使用してください。これをチェックしてください http://realworldsa.dotnetdevelopersjournal.com/goodbyewindowsworkflowfoundationseeyouin2011.htm
WF1.0および1.5はWF4と互換性がありません。したがって、これは前向きな解決策ではありません。
私は個人的にWFの代わりにhttp://simplestatemachine.codeplex.comを使用しています。私はこれを1つの完全な本番システム(asp.netベース)で使用して、かなり複雑なビジネスライセンス発行システム(350以上の異なる政府のビジネスライセンスを処理)を処理しました。
私はまだステートレスを試していませんが、有望に見えます。
要件が基本的なものである場合は、私が書いた非常に単純な StateMachine に興味があるかもしれません。
(執筆時点では) 階層状態をサポートしていないことに注意してください。
NuGet で見つけることができます。
nuget install nstate
または GitHub で確認してください。
https://github.com/benaston/NState
誰かがそれが役に立つことを願っています。
パーティーに遅刻。Stateless を本番環境で使用してから 1 年半以上経ちますが、問題はありません。これは、ワークフローを処理するための非常に洗練されたソリューションであり、状態をデータ モデルとすばやく統合できます。SQL では状態を int で表すので、ASP.Net でステート マシンをインプロセスで実行できます。これは、長時間実行されるワークフローにも当てはまります。
Windows Workflow Foundationをまだ見ていない場合は、少なくともそれについて少し読む価値があります。