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