2009-10-27 16 views
20

mi sono imbattuto in stateless, un quadro macchina a stati gerarchica basata su Simple State Machine per Boo, ma configurati utilizzando C# 3.0.NET Workflow Engine Suggerimenti

E 'facile da configurare e utilizzare, io probabilmente utilizzare al più presto.

Ma mi stavo chiedendo se

  • Anyone used stateless per progetti reali (Se sì, quale è la tua opinione?)
  • Ci sono altri motori di buon flusso di lavoro per .NET? (diverso da WF)
+3

Altri motori del flusso di lavoro: vuoi dire, ad eccezione di Workflow Foundation, giusto? –

+1

Sì, diverso da WF. – Leyu

+3

Domanda pratica e utile? Chiudiamolo! – Den

risposta

11

Ho utilizzato Stateless e WF per un'app destinata a essere messa in produzione un giorno. :) Ho dettagliato le mie esperienze finora on my post here.

Nel complesso, preferisco Stateless perché è più semplice per più cose che WF. Certo, è bello essere in grado di progettare graficamente il flusso di lavoro, ma quando è necessario implementare qualcosa di più difficile di un flusso di lavoro sequenziale (come il flusso di lavoro della macchina di stato), è necessario lavorare con ExternalDataExchange solo per effettuare le giuste transizioni di stato. Probabilmente non è difficile, ma considerando ciò e il fatto che sia necessario implementare un servizio di persistenza per mettere in pausa un flusso di lavoro mi sembra poco attraente. Non ho la necessità di mantenere un flusso di lavoro su disco per l'esecuzione successiva comunque ... quindi userò eventi regolari per gestire questo in Stateless. La gestione degli errori è facilmente eseguibile in Stateless (ho avuto successo con esso), ma l'implementazione che ho preso è discutibile, ed è l'argomento di un'altra discussione (che sto cercando ora su SO!). Potrei postare una domanda su questo molto presto.

Buona fortuna con Stateless. Spero di sapere come hai fatto progressi.

+0

C'è un progetto su CodePlex che mostra graficamente il tuo statino stateless. Attualmente non supporta tutte le funzionalità nel framework stateless. http://statelessdesigner.codeplex.com –

+0

Verificherò. Grazie per la condivisione! – Dave

2

Se non si è guardato allo Windows Workflow Foundation è probabilmente consigliabile fare un po 'di lettura.

+5

Voglio una soluzione più leggera – Leyu

+1

tutti abbiamo bisogno di soluzioni leggere :) –

5

Per Workflow Foundation, utilizzarlo solo per progetti verdi in modo da poter utilizzare WF4. Verificare questo http://realworldsa.dotnetdevelopersjournal.com/goodbyewindowsworkflowfoundationseeyouin2011.htm

WF 1.0 e 1.5 non sono compatibili con WF4. Quindi non è una soluzione avanzata.

Io personalmente uso http://simplestatemachine.codeplex.com in alternativa a WF. L'ho usato in un sistema di produzione completo (basato su asp.net) per gestire un sistema di emissione di licenze di business piuttosto complesso (che gestisce oltre 350 licenze commerciali governative diverse).

Non ho ancora provato l'apolide, ma sembra promettente.

5

In ritardo alla festa. Abbiamo usato Stateless in produzione ora da oltre un anno e mezzo, senza problemi. È una soluzione molto elegante per l'elaborazione dei flussi di lavoro e consente di integrare rapidamente gli stati con il modello dei dati. Rappresentiamo i nostri stati con e int in SQL, quindi è possibile eseguire la macchina di stato in ASP.Net in corso. Questo è vero anche per i flussi di lavoro a lunga esecuzione.

+0

Ciao David, sarei interessato a sapere se usi ancora Stateless per i tuoi flussi di lavoro? Qualche consiglio sugli stati persistenti in SQL? –

+0

@ Mark H - sicuramente. Ho trovato che è molto utile, e ho costruito diverse soluzioni con esso. –

5

Se le vostre esigenze sono basilari, una semplice macchina da scrivere che ho scritto può essere interessante.

Si noti che al momento della scrittura non supporta gli stati gerarchici.

Si può trovare su NuGet:

nuget install nstate 

o controllare sul GitHub:

https://github.com/benaston/NState

Spero che qualcuno lo trova utile.

+0

Sto leggendo la tua soluzione su github ora. Sembra interessante. Ho usato gli apolidi per 3 anni ma mi piace anche il tuo approccio. –

+0

Grazie per il tuo gentile commento! – Ben