Предложения по механизму рабочих процессов .NET [закрыто]

StackOverflow https://stackoverflow.com/questions/1631367

Вопрос

я наткнулся лицо без гражданства, иерархическая структура конечного автомата, основанная на Простой конечный автомат для Бу, но настроен с использованием C# 3.0

Его легко настроить и использовать, возможно, я скоро им воспользуюсь.

Но мне просто интересно, если

  • Кто-нибудь использовал лицо без гражданства для реальных проектов (если да, то каково ваше мнение?)
  • Существуют ли другие хорошие механизмы рабочего процесса для .NET?(кроме ВФ)
Это было полезно?

Решение

Я использовал Stateless и WF для приложения, которое когда-нибудь планируется запустить в производство.:) Я подробно описал свой опыт в моем посте здесь.

В целом, я предпочитаю Stateless, потому что он проще для большего количества вещей, чем WF.Конечно, приятно иметь возможность графически спроектировать рабочий процесс, но когда вам нужно реализовать что-то более сложное, чем последовательный рабочий процесс (например, рабочий процесс конечного автомата), вам придется работать с ExternalDataExchange только для того, чтобы совершать правильные переходы между состояниями.Вероятно, это несложно, но, учитывая это, а также тот факт, что вам нужно реализовать службу персистентности для приостановки рабочего процесса, мне показалось это непривлекательным.В любом случае мне не нужно сохранять рабочий процесс на диск для последующего выполнения...поэтому я буду использовать регулярные события, чтобы справиться с этим в безгражданстве.Обработка ошибок легко осуществима в Stateless (мне это удалось), но выбранная мной реализация сомнительна и является темой другого обсуждения (которое я сейчас ищу на SO!).Возможно, очень скоро я опубликую вопрос по этому поводу.

Удачи с Безгражданством.Я надеюсь услышать, как у вас продвигаются дела.

Другие советы

Для Workflow Foundation используйте его только для зеленого проекта, чтобы можно было использовать WF4.Проверь этоhttp://realworldsa.dotnetdevelopersjournal.com/goodbyewindowsworkflowfoundationseeyouin2011.htm

WF 1.0 и 1.5 несовместимы с WF4.Так что это не передовое решение.

Я лично использую http://simplestatemachine.codeplex.com как альтернатива WF.Я использовал его в одной полной производственной системе (на основе asp.net) для управления довольно сложной системой выдачи бизнес-лицензий (обработка более 350 различных государственных бизнес-лицензий).

Я еще не пробовал без гражданства, но это выглядит многообещающе.

Опоздал на вечеринку.Мы используем Stateless в производстве уже более полутора лет, никаких проблем.Это очень элегантное решение для обработки рабочих процессов, позволяющее быстро интегрировать состояния с вашей моделью данных.Мы представляем наши состояния с помощью и int в SQL, поэтому вы можете запустить конечный автомат в ASP.Net в процессе.Это справедливо и для длительных рабочих процессов.

Если ваши требования просты, может вас заинтересовать очень простой StateMachine, который я написал.

Имейте в виду, что он (на момент написания) не поддерживает иерархические состояния.

Вы можете найти его на NuGet:

nuget install nstate

или проверьте это на GitHub:

https://github.com/benaston/NState

Я надеюсь, что кто-то найдет это полезным.

Если вы не посмотрели Фонд рабочих процессов Windows вероятно, стоит хотя бы немного почитать об этом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top