Поделиться через


Сценарий конечного автомата с использованием сочетания действий FlowChart и Pick

Данный раздел относится к версии Windows Workflow Foundation 4.

Этот образец показывает, как реализовать сценарий простого контрольного таймера с помощью сочетания действий Flowchart и Pick. Для прослушивания событий контрольного таймера используются операции Receive и Send, заданные в действии Pick.

Dd807384.Important(ru-ru,VS.100).gif Примечание
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).

<диск_установки>:\WF_WCF_Samples

Если этот каталог не существует, перейдите на страницу загрузки, чтобы загрузить все образцы Windows Communication Foundation (WCF) и WF. Этот образец расположен в следующем каталоге.

<диск_установки>:\WF_WCF_Samples\WF\Scenario\StateMachineWithPick

Подробные сведения об образце

В следующей таблице перечислены проекты данного образца.

Имя проекта

Описание

StopWatchService

Данный проект реализует конечный автомат для образца контрольного таймера, использующий сочетание действий Flowchart и Pick.

Действие Pick имеет 3 оператора PickBranch в свойстве Branches, которые прослушивают события GetStart, GetStop и GetOff. В зависимости от входящего события активируются триггеры одной из ветвей, и выполняется соответствующее действие Action. В свойстве Action имеется оператор Switch, который определяет допустимость перехода и, если такой переход допустим, свойство currentState обновляется до состояния перехода и передается клиенту.

Действие FlowDecision, выполняемое в конце Flowchart, осуществляет расчет свойства currentState, чтобы определить, достигло ли оно завершающего состояния. Если переход в завершающее состояние осуществлен, рабочий процесс заканчивается. В противном случае управление передается к началу действия Pick, где рабочий процесс будет ожидать наступления следующих событий контрольного таймера.

StopWatchClient

Представляет собой простое консольное приложение, состоящее из последовательности рабочих процессов, отправляющих различные события контрольного таймера посредством простых сочетаний действий Send и Receive.

Использование этого образца

  1. Откройте файл решения StateMachineWithPick.sln в среде Visual Studio 2010.

  2. Чтобы построить решение, нажмите клавишу F6.

  3. Запустите от имени администратора файл StopWatchService.exe из проводника Windows, щелкнув правой кнопкой исполняемый файл и выбрав команду Запуск от имени администратора.

    1. Перейдите в папку StateMachineWithPick\CS\StopWatchService\bin\Debug.

    2. Щелкните правой кнопкой файл StopWatchService.exe и выберите команду Запуск от имени администратора.

  4. Запустите клиентское приложение StopWatchClient из Visual Studio 2010.

    1. В Обозревателе решений выберите проект StopWatchClient и запустите правой кнопкой команду Установить как запускаемый проект.

    2. Чтобы запустить решение, нажмите клавиши CTRL+F5.

  5. Перейдите обратно в окно консоли приложения StopWatchService.exe, чтобы наблюдать за переходами состояний.

Dd807384.Important(ru-ru,VS.100).gif Примечание
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).

<диск_установки>:\WF_WCF_Samples

Если этот каталог не существует, перейдите на страницу Образцы Windows Communication Foundation (WCF) и Windows Workflow Foundation (WF) для .NET Framework 4, чтобы загрузить все образцы Windows Communication Foundation (WCF) и WF. Этот образец расположен в следующем каталоге.

<диск_установки>:\WF_WCF_Samples\WF\Scenario\StateMachineWithPick