2009-10-27 13 views
20

私はBooためSimple State Machineに基づく階層ステートマシンフレームワーク、stateless渡って来たが、私はおそらくすぐにそれを使用します、設定および使用が容易であるC#3.0.NETワークフロー・エンジンの提案

を使用して設定。

しかし、(だから何があなたの意見の場合は?)

  • 誰もが実際のプロジェクトのためにstatelessを使用した場合
  • 私は思っていたが、.NETのための任意の他の良いワークフローエンジンはありますか? (WF以外)
+3

その他のワークフローエンジン - Workflow Foundationを除いて、そうですか? –

+1

はい、WF以外。 – Leyu

+3

実用的で便利な質問ですか?それを閉じましょう! – Den

答えて

11

私は、いつか量産に入る予定のアプリケーションにStatelessとWFを使用してきました。 :)私は今までの私の経験を詳述したon my post here

全体的に、私はステートレスが好きです。なぜなら、WFよりももっと簡単なことです。確かに、あなたのワークフローをグラフィカルに設計できるのは良いことですが、(ステートマシンのワークフローのような)シーケンシャルワークフローよりも難しいものを実装する必要がある場合は、正しい状態遷移を行うためにExternalDataExchangeを使用する必要があります。おそらく難しいことではありませんが、ワークフローを一時停止するための永続性サービスを実装する必要があることを考慮すれば、私にとっては魅力的ではないようです。私は後で実行するためにワークフローをディスクに保存する必要はありません...したがって、私はステートレスでこれを処理するために定期的なイベントを使用します。エラー処理はステートレスで簡単に実行できます(私はそれに成功しました)が、私が取った実装は疑問であり、別の議論のトピックです(これは今私が探しているところです)。私はこれについてすぐに質問を掲示しているかもしれません。

幸運とステートレス。私はあなたがそれをどのように進行してきたのか聞いて欲しい。

+0

CodePlexには、ステートレスステートマシンをグラフィカルに表示するプロジェクトがあります。現在、ステートレスフレームワークのすべての機能をサポートしているわけではありません。 http://statelessdesigner.codeplex.com –

+0

私はそれをチェックアウトします。共有ありがとう! – Dave

2

Windows Workflow Foundationをご覧になっていない場合は、おそらくそれについて少し読んでみる価値があります。

+5

私はより軽量なソリューションを望んでいます – Leyu

+1

私たちはすべて軽量ソリューションが必要です:) –

5

Workflow Foundationの場合は、緑色のプロジェクトでのみ使用します.WF4を使用できます。これをチェックしてください http://realworldsa.dotnetdevelopersjournal.com/goodbyewindowsworkflowfoundationseeyouin2011.htm

WF 1.0と1.5はWF4と互換性がありません。したがって、それは順方向の解決策ではありません。

私は個人的にWFの代わりにhttp://simplestatemachine.codeplex.comを使用します。私はかなり複雑なビジネスライセンス発行システム(350以上の異なる政府のビジネスライセンスを扱う)を扱うために、1つの完全な実動システム(asp.netベース)でそれを使用しました。

私はまだステートレスを試していませんが、それは有望そうです。

5

パーティーに遅れています。私たちは現在、1年半以上の間、生産においてStatelessを使用しています。問題はありません。ワークフローを処理するための非常に洗練されたソリューションであり、データモデルと状態をすばやく統合します。私たちは州でintをSQLで表現しているので、ASP.Netで状態マシンを実行することができます。これは長時間実行されるワークフローにも当てはまります。

+0

Davidさん、あなたのワークフローにStatelessをまだ使用しているかどうかを知りたいですか? SQLの永続状態に関するヒント –

+0

@マークH - 最も間違いなく。私はそれが非常に有用であることが判明し、私はそれを使っていくつかのソリューションを構築しました。 –

5

あなたの要件が基本的であれば、私が書いた非常に単純なStateMachineが興味深いかもしれません。

(執筆時点では)階層的な状態をサポートしていないことに注意してください。

あなたはNuGetでそれを見つけることができます:

nuget install nstate 

またはGitHubの上でそれをチェックアウト:

https://github.com/benaston/NState

私は誰かが重宝願っています。

+0

私はgithubのあなたの解決策を今読んでいます。それは面白そうです。私は3年間ステートレスを使ってきましたが、あなたのアプローチも好きです。 –

+0

あなたの種類のコメントありがとう! – Ben

関連する問題