2009-05-31 19 views
12

.Net yığındaki Windows İş Akışı için hangi alternatifler var? Ve eğer bu çözümleri kullandıysanız, bunları Windows Workflow üzerinden seçtiniz ve bu iyi bir seçim oldu.Herkes Windows İş Akışı için bir .NET açık kaynak alternatifini önerebilir mi?


Güncelleme: devam ettim ve Nicholas Blumhardt yarattığı stateless seçilen

. Bu, bir alandaki durumları modellemek için çok basit bir yaklaşımdır. Gördüğünüz gibi

var phoneCall = new StateMachine<State, Trigger>(State.OffHook); 

phoneCall.Configure(State.OffHook) 
    .Allow(Trigger.CallDialed, State.Ringing); 

phoneCall.Configure(State.Ringing) 
    .Allow(Trigger.HungUp, State.OffHook) 
    .Allow(Trigger.CallConnected, State.Connected); 

phoneCall.Configure(State.Connected) 
    .OnEntry(t => StartCallTimer()) 
    .OnExit(t => StopCallTimer()) 
    .Allow(Trigger.LeftMessage, State.OffHook) 
    .Allow(Trigger.HungUp, State.OffHook) 
    .Allow(Trigger.PlacedOnHold, State.OnHold); 

phoneCall.Configure(State.OnHold) 
    .SubstateOf(State.Connected) 
    .Allow(Trigger.TakenOffHold, State.Connected) 
    .Allow(Trigger.HungUp, State.OffHook) 
    .Allow(Trigger.PhoneHurledAgainstWall, State.PhoneDestroyed); 

, durum makinesi devletleri ve ilgili tetikleyiciler modellemek için generic'leri kullanır: Aşağıda google sağlanan örnek kod verilmiştir. Başka bir deyişle, ihtiyaçlarınızı karşılamak için enums, integer, string, vb. Kullanabilirsiniz. Durum makinesinin her bir durumu, belirli kriterlere göre tetiklenecek koşullu tetikleyicilerle yapılandırılabilir.

+0

Neden? Windows Workflow Foundation'da sorun nedir? – SLaks

+2

-1 herhangi bir kriter vermemek için! WF. –

+2

Aslında, WF'nin özellikle eyalet makineleri için bazı aksaklıkların olduğu konusunda hemfikirim. "! WF" ve herhangi bir cevap için kendi nedenlerinizi görmek isterdim ... Şu anda bunun için pahalı bir ürün kullanıyorum ... ve ihtiyaçlarım için daha iyi çalışan kendi iş akışı motorumu hazırlamayı düşünüyorum (Sürecin kendisi bireysel vakaların ömrü boyunca değiştiği uzun süredir durumdaki iş süreçleri için). –

cevap

9

Windows Workflow Foundation bazı durumlarda bir overkill bana gibi hissediyor. Daha sonra, kendi iş akışı motorunuzu uygulamak daha kolay ve basittir.

Numune referanslar:

+0

Linkler için teşekkürler - Bu haftasonunda DotNetRocks'ta Nicolas'ı dinlemeyi yeni bitirdim. –

+0

Rica ederim. PS: "Nicholas" –

İlgili konular