Я пытаюсь смоделировать систему уведомлений, в которой событие происходит в течение определенного периода времени (даты начала и окончания). Если период времени был превышен, пользователь должен либо обновить период времени, либо установить флаг, что событие было i) отменено, ii) завершено или iii) закрыто. Если сегодня один день после запланированной даты завершения мероприятия, менеджер по электронной почте. Если два дня, менеджер и их руководитель по электронной почте. Если> два дня, менеджер, их руководитель и владелец компании по электронной почте. Каждый день после этого они отправляют по электронной почте трем из них, что событие является просроченным. События могут быть запланированы в любое время в будущем, поэтому процесс должен просто отслеживать, когда событие находится в состоянии ожидания, активно, задержано (после даты окончания), отменено, закрыто или завершено.
Я начал создавать рабочий процесс в виде приложения-службы WorkFlow, размещенного в Windows Server AppFabric, потому что кажется, что это лучший способ сохранить этот длительный рабочий процесс. Я также начал использовать WTP State Machine Activity Pack CTP 1, так как это казалось наилучшим способом моделирования различных состояний событий.
Я не уверен, как смоделировать этот процесс, а также заставить процесс сохраняться и продолжать работать в фоновом режиме, чтобы отслеживать состояние события и вести себя так, как описано выше. Я думаю, что все состояния правильно смоделированы в автомате. Я все еще пытаюсь выяснить переходы из одного состояния в другое. Любое руководство приветствуется.