2009-10-27 11 views
20

Tôi đã xem qua stateless, một khung máy nhà nước theo cấp bậc dựa trên Simple State Machine cho Boo, nhưng cấu hình sử dụng C# 3.0NET Workflow cơ Gợi ý

Nó rất dễ dàng để cấu hình và sử dụng, tôi có lẽ sẽ sử dụng nó sớm.

Nhưng tôi chỉ tự hỏi nếu

  • Bất cứ ai sử dụng stateless cho các dự án thực tế (Nếu ý kiến ​​của bạn như vậy là gì?)
  • Có bất kỳ công cụ workflow tốt khác cho NET? (ngoài WF)
+3

Các công cụ quy trình làm việc khác - ý của bạn là, ngoại trừ Workflow Foundation, phải không? –

+1

Có, ngoài WF. – Leyu

+3

Câu hỏi thực tế và hữu ích? Hãy đóng nó lại! – Den

Trả lời

11

Tôi đã sử dụng Stateless và WF cho một ứng dụng được dự định đi vào sản xuất vào một ngày nào đó. :) Tôi đã nêu chi tiết trải nghiệm của mình cho đến nay on my post here.

Nói chung, tôi thích không quốc tịch vì nó đơn giản hơn cho nhiều thứ hơn WF. Chắc chắn, thật tuyệt khi có thể thiết kế luồng công việc của bạn một cách đồ họa, nhưng khi bạn cần triển khai một thứ gì đó khó hơn một luồng công việc tuần tự (như luồng công việc của máy trạng thái), bạn sẽ cần làm việc với ExternalDataExchange chỉ để thực hiện chuyển tiếp trạng thái đúng. Nó có lẽ không khó, nhưng xem xét điều đó và thực tế là bạn cần phải thực hiện một dịch vụ kiên trì để tạm dừng một luồng công việc dường như không hấp dẫn đối với tôi. Tôi không cần phải lưu một luồng công việc vào đĩa để thực thi sau này ... vì vậy tôi sẽ sử dụng các sự kiện thường xuyên để xử lý điều này trong Stateless. Việc xử lý lỗi dễ dàng thực hiện được trong Stateless (tôi đã thành công với nó), nhưng việc thực hiện tôi đã thực hiện là vấn đề, và là chủ đề của một cuộc thảo luận khác (mà tôi đang tìm kiếm bây giờ trên SO!). Tôi có thể đăng câu hỏi về vấn đề này rất sớm.

Chúc may mắn với người không quốc tịch. Tôi hy vọng được nghe bạn đã tiến bộ như thế nào.

+0

Có một dự án trên CodePlex cho thấy statemachine không trạng thái của bạn bằng đồ thị. Hiện tại nó không hỗ trợ tất cả các tính năng trong khuôn khổ không trạng thái. http://statelessdesigner.codeplex.com –

+0

Tôi sẽ kiểm tra. Cám ơn vì đã chia sẻ! – Dave

2

Nếu bạn chưa xem số Windows Workflow Foundation thì có lẽ ít nhất đáng để đọc một chút về nó.

+5

Tôi muốn một giải pháp trọng lượng nhẹ hơn – Leyu

+1

tất cả chúng ta cần giải pháp trọng lượng nhẹ :) –

5

Đối với quy trình làm việc, chỉ sử dụng cho dự án xanh để bạn có thể sử dụng WF4. Kiểm tra điều này ra http://realworldsa.dotnetdevelopersjournal.com/goodbyewindowsworkflowfoundationseeyouin2011.htm

WF 1.0 và 1.5 không tương thích với WF4. Vì vậy, nó không phải là một giải pháp chuyển tiếp.

Cá nhân tôi sử dụng http://simplestatemachine.codeplex.com làm phương án thay thế cho WF. Tôi đã sử dụng nó trong một hệ thống sản xuất đầy đủ (dựa trên asp.net) để xử lý một hệ thống phát hành giấy phép kinh doanh khá phức tạp (xử lý 350+ giấy phép kinh doanh chính phủ khác nhau).

Tôi chưa thử quốc tịch nhưng có vẻ đầy hứa hẹn.

5

Muộn cho bữa tiệc. Chúng tôi đã sử dụng Stateless trong sản xuất hiện nay trong hơn một năm rưỡi, không có vấn đề gì. Nó là một giải pháp rất thanh lịch để xử lý luồng công việc và bạn nhanh chóng tích hợp các trạng thái với mô hình dữ liệu của bạn. Chúng tôi đại diện cho các tiểu bang của chúng tôi với và int trong SQL, vì vậy bạn có thể chạy máy nhà nước trong ASP.Net trong quá trình. Điều này cũng đúng cho các luồng công việc đang chạy dài.

+0

Xin chào David, tôi muốn biết liệu bạn có còn sử dụng Stateless cho quy trình công việc của mình không? Bất kỳ lời khuyên nào về trạng thái bền bỉ trong SQL? –

+0

@Mark H - chắc chắn nhất. Tôi đã tìm thấy nó rất hữu ích, và tôi đã xây dựng một số giải pháp với nó. –

5

Nếu yêu cầu của bạn là cơ bản, một StateMachine rất đơn giản tôi đã viết có thể được quan tâm.

Hãy cảnh báo rằng nó không (tại thời điểm viết bài) hỗ trợ các trạng thái phân cấp.

Bạn có thể tìm thấy nó trên NuGet:

nuget install nstate 

hoặc kiểm tra xem nó ra trên GitHub:

https://github.com/benaston/NState

Tôi hy vọng ai đó tìm thấy nó hữu ích.

+0

Tôi đang đọc qua giải pháp của bạn trên github ngay bây giờ. Có vẻ thú vị. Tôi đã sử dụng không quốc tịch trong 3 năm nhưng tôi cũng thích cách tiếp cận của bạn. –

+0

Cảm ơn lời bình luận của các bạn! – Ben