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


Как создать рабочий процесс

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

Рабочие процессы могут создаваться как из встроенных, так и из пользовательских действий. В этом разделе рассматривается последовательность создания рабочего процесса, который использует как встроенные действия (например, действие Flowchart), так и пользовательские действия из предыдущего раздела Как создать действие. Рабочий процесс моделирует игру по угадыванию числа.

Dd489437.note(ru-ru,VS.100).gifПримечание
Каждый раздел в учебнике «Приступая к работе» построен на основе предыдущих разделов. Для изучения этого раздела необходимо сначала пройти раздел Как создать действие.

Создание проекта рабочего процесса

  1. Откройте решение из предыдущего раздела Как создать действие в среде Visual Studio 2010.

  2. Щелкните правой кнопкой мыши решение GettingStartedTutorial в окне Обозреватель решений, выберите Добавить и Создать проект....

    Dd489437.Tip(ru-ru,VS.100).gifСовет.
    Если окно Обозреватель решений не отображается, в меню Вид выберите пункт Обозреватель решений.

  3. В списке Установленные шаблоны выберите пункты Visual C# и Рабочий процесс (или Visual Basic и Рабочий процесс).

    Dd489437.note(ru-ru,VS.100).gifПримечание
    В зависимости от того, какой язык программирования задан как основной в Visual Studio, узел Visual C# или Visual Basic может находиться в разделе Другие языки в списке Установленные шаблоны.

    Убедитесь, что в раскрывающемся списке версий .NET Framework выбран пункт .NET Framework 4. В списке Рабочий процесс выберите Консольное приложение рабочего процесса. Оставьте без изменений параметры по умолчанию и нажмите кнопку ОК. Будет создано начальное приложение рабочего процесса с базовой поддержкой размещения рабочего процесса. В этом разделе рабочий процесс заполняется действиями. В следующем разделе (Как запустить рабочий процесс) базовый код размещения изменяется и используется для выполнения приложения рабочего процесса.

  4. Щелкните правой кнопкой мыши созданное приложение WorkflowConsoleApplication1 в Обозревателе решений, а затем выберите Добавить ссылку…. Перейдите на вкладку Проекты и выберите ActivityLibrary1, после чего нажмите кнопку ОК.

  5. Нажмите клавишу F6 для построения решения. Пользовательские действия из библиотеки ActivityLibrary1 будут добавлены в Область элементов для последующего использования в рабочем процессе.

Создание переменных и аргументов рабочего процесса

  1. Дважды щелкните Workflow1.xaml в Обозревателе решений, чтобы отобразить рабочий процесс в конструкторе (если он еще не отображается).

  2. Перетащите действие Flowchart из раздела Блок-схема Области элементов в область конструктора рабочих процессов.

  3. Нажмите кнопку Аргументы в нижнем левом углу конструктора рабочих процессов, чтобы показать область Аргументы.

  4. Нажмите кнопку Создать аргумент.

  5. В поле Имя введите MaxNumber, в раскрывающемся списке Направление выберите значение Входной, выберите Int32 в раскрывающемся списке Тип аргумента, а затем нажмите клавишу ВВОД, чтобы сохранить аргумент.

  6. Нажмите кнопку Создать аргумент.

  7. В поле Имя под только что добавленным аргументом MaxNumber введите Turns, в раскрывающемся списке Направление выберите значение Выходной, выберите тип Int32 в раскрывающемся списке Тип аргумента, а затем нажмите клавишу ВВОД.

  8. Нажмите кнопку Аргументы в левом нижнем углу конструктора действий, чтобы закрыть область Аргументы.

  9. Нажмите кнопку Переменные в нижнем левом углу конструктора рабочих процессов, чтобы показать область Переменные.

  10. Нажмите кнопку Создать переменную.

    Dd489437.Tip(ru-ru,VS.100).gifСовет.
    Если поле Создать переменную не отображается, щелкните действие Flowchart в области конструктора рабочих процессов, чтобы выбрать рабочий процесс.

  11. В поле Имя введите Guess, в раскрывающемся списке Тип переменной выберите Int32, а затем нажмите клавишу ВВОД, чтобы сохранить переменную.

  12. Нажмите кнопку Создать переменную.

  13. В поле Имя введите Target, в раскрывающемся списке Тип переменной выберите Int32, а затем нажмите клавишу ВВОД, чтобы сохранить переменную.

  14. Нажмите кнопку Переменные в нижнем левом углу конструктора действий, чтобы закрыть область Переменные.

Добавление действий рабочего процесса

  1. Перетащите действие Assign из раздела Примитивы Области элементов в рабочий процесс таким образом, чтобы оно оказалось под начальным узлом, представленным зеленым кругом на вершине рабочего процесса. Введите Target в поле Назначение и следующее выражение в поле Введите выражение VB.

    New System.Random().Next(1, MaxNumber + 1)
    
    Dd489437.Tip(ru-ru,VS.100).gifСовет.
    Если окно Область элементов не отображается, в меню Вид выберите пункт Область элементов.

  2. Чтобы указать, что действие Assign является начальной точкой для Flowchart, наведите курсор мыши на начальный узел на вершине рабочего процесса. Щелкните один из прямоугольников, появляющихся при наведении мыши на начальный узел, и перетащите его мышью на действие Assign. Когда мышь наведена на действие Assign, отображаются четыре прямоугольника. Перетащите мышь, чтобы соединительная линия из нижней части начального узла соединилась с верхним прямоугольником действия Assign, затем отпустите кнопку мыши.

  3. Перетащите действие Prompt из раздела ActivityLibrary1 Области элементов и поместите его под действием Assign из предыдущего шага.

  4. В Окне свойств введите "EnterGuess" (включая кавычки) в поле значения свойства BookmarkName. Введите Guess в поле значения свойства Result и введите следующее выражение в поле свойства Text.

    "Please enter a number between 1 and " & MaxNumber
    
    Dd489437.Tip(ru-ru,VS.100).gifСовет.
    Если окно Свойства не отображается, выберите пункт Окно свойств в меню Вид.

  5. Соедините действие Assign с действием Prompt. Это можно сделать, наведя курсор мыши на действие Assign и щелкнув прямоугольник, появляющийся ниже при наведении курсора на действие. Перетащите его указателем мыши к верхней части действия Prompt. Когда указатель наведен на действие Prompt, отображаются четыре прямоугольника. Перетащите мышь, чтобы соединительная линия от нижней части действия Assign соединилась с верхним прямоугольником действия Prompt, и затем отпустите кнопку мыши.

  6. Перетащите действие Assign из раздела Примитивы Области элементов и поместите его под действием Prompt.

  7. Введите Turns в поле Назначение и выражение Turns + 1 в поле Введите выражение VB.

  8. Выполните описанные выше шаги, чтобы соединить действие Prompt с действием Assign.

  9. Перетащите действие FlowDecision из раздела Блок-схема Области элементов и поместите его под действием Assign. Соедините действие Assign с действием FlowDecision, затем щелкните действие FlowDecision, чтобы выбрать его. В Окне свойств в поле значения свойства Condition введите следующее выражение.

    Guess = Target
    
  10. Перетащите другое действие FlowDecision из Области элементов и разместите его под первым действием. Соедините два действия, перетащив соединительную линию из прямоугольника с пометкой False над действием FlowDecision в прямоугольник над вторым действием FlowDecision.

    Dd489437.Tip(ru-ru,VS.100).gifСовет.
    Если метки True и False не отображаются над действием FlowDecision, наведите указатель мыши на действие FlowDecision.

  11. Щелкните второе действие FlowDecision, чтобы его выбрать. В Окне свойств в поле значения свойства Condition введите следующее выражение.

    Guess < Target
    
  12. Перетащите два действия WriteLine из раздела Примитивы Области элементов и разместите их таким образом, чтобы они находились друг рядом с другом под двумя действиями FlowDecision. Соедините действие True нижнего действия FlowDecision с самым левым действием WriteLine, а действие False с самым правым действием WriteLine.

  13. Щелкните самое левое действие WriteLine, чтобы выбрать его, и введите следующее выражение в поле значения свойства Text в Окне свойств.

    "Your guess is too low."
    
  14. Соедините действие WriteLine с левой стороной расположенного над ним действия Prompt.

  15. Щелкните самое правое действие WriteLine, чтобы выбрать его, и введите следующее выражение в поле значения свойства Text в Окне свойств.

    "Your guess is too high."
    
  16. Соедините действие WriteLine с правой стороной расположенного над ним действия Prompt.

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

    Dd489437.937fc39a-cff4-487c-9fa3-35b0a7e06771(ru-ru,VS.100).gif

Построение рабочего процесса

  1. Нажать клавишу F6 для построения решения.

    Указания по запуску рабочего процесса см. в следующем разделе Как запустить рабочий процесс.

См. также

Задачи

Как создать действие
Как запустить рабочий процесс

Справочник

Flowchart
FlowDecision

Другие ресурсы

Программирование в Windows Workflow Foundation
Разработка рабочих процессов
Учебник по началу работы