Инструкции созданию рабочего процесса в Workflow Manager 1.0

 

Опубликовано: Июль 2016

На этом шаге Workflow Manager 1.0 — учебник для начала работы создается рабочий процесс, использующий действие GetProducts для возвращения коллекции продуктов. Рабочий процесс выполняет итерацию по коллекции и извлекает название продукта для каждого возвращенного продукта, добавляет его в список и задает состояние пользователя, содержащее название продукта. Состояние считывается и отображается клиентским приложением рабочего процесса, который будет создан на следующем шаге руководства. После считывания всех продуктов рабочий процесс устанавливает состояние пользователя, содержащее список названий продуктов, после чего его выполнение завершается.

System_CAPS_noteПримечание

Чтобы просмотреть пошаговое видеоруководство или загрузить начальный набор файлов и полную версию учебника, см. статью Workflow Manager 1.0 Getting Started Tutorial (Workflow Manager 1.0 — учебник для начала работы).

На этом шаге учебника

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

  • Создание аргументов и переменных

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

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

  1. Откройте решение, указанное на предыдущем шаге этого учебника, Инструкции созданию настраиваемого действия в Workflow Manager 1.0, если оно еще не открыто в среде Visual Studio 2012.

  2. Щелкните правой кнопкой мыши элемент GetProductsActivities в обозревателе решений и выберите пункты Добавить и Новый элемент.

  3. Последовательно выберите узел Установлено, узел Элементы Visual C# и элемент Рабочий процесс. В списке Рабочий процесс выберите пункт Действие.

  4. Введите GetProductsWorkflow в поле Имя и нажмите кнопку Добавить.

  5. Дважды щелкните файл GetProductsWorkflow.xaml в обозревателе решений, чтобы он отобразился в конструкторе, если он еще не отображается.

  6. Перетащите действие Sequence из области Поток управления на панели элементов и переместите его на подпись Перетащить сюда действие в конструкторе рабочих процессов.

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

  1. В левом нижнем углу конструктора действий нажмите кнопку Аргументы для отображения панели Аргументы.

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

  3. Введите SearchKeyword в поле Имя, выберите пункт В в раскрывающемся списке Направление и пункт Строка в раскрывающемся списке Тип аргумента.

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

  5. В левом нижнем углу конструктора действий нажмите кнопку Переменные для отображения панели Переменные.

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

    Совет

    Если кнопка Создать переменную не отображается, выберите действие Sequence в конструкторе рабочих процессов, чтобы ее выбрать.

  7. Введите ProductsData в поле Имя, а затем в раскрывающемся списке Тип переменной выберите пункт Выбор типов.

  8. Введите DynamicValue в поле Имя типа, выберите пункт DynamicValue в списке результатов и нажмите кнопку ОК.

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

  10. В поле Имя введите Count, а затем в раскрывающемся списке Тип переменной выберите пункт Int32.

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

  12. Введите ProductsList в поле Имя, а затем в раскрывающемся списке Тип переменной выберите пункт Строка.

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

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

  1. Перетащите действие GetProducts из области GetProductsActivities на панели элементов, переместите его в действие Sequence и настройте следующие свойства.

    Свойство

    Значение

    ProductsData

    ProductsData

    SearchKeyword

    SearchKeyword

  2. Перетащите действие CountDynamicValueItems из области DynamicValue на панели элементов, переместите его в действие Sequence после действия GetProducts и настройте следующие значения свойств.

    Свойство

    Значение

    Результат

    Count

    Источник

    ProductsData

  3. Перетащите действие SetUserStatus из области Среда выполнения на панели элементов, расположите его после только что добавленного действия CountDynamicValueItems и укажите следующее выражение для свойства Описание.

    "Products: " + Count
    
  4. Перетащите действие Delay из области Примитивы на панели элементов, расположите его после только что добавленного действия SetUserStatus и укажите следующее выражение для свойства Длительность. Задержка позволяет клиенту рабочего процесса извлечь состояние до того, как рабочий процесс установит следующее состояние, и добавляется для целей данного руководства. В рабочей среде для передачи сведений будут применяться такие методы приложения, как использование действий обмена сообщениями или добавление записей в базу данных.

    TimeSpan.FromSeconds(1)
    
  5. Перетащите действие While из области Поток управления на панели элементов и расположите его после действия SetUserStatus.

  6. В левом нижнем углу конструктора действий нажмите кнопку Переменные для отображения панели Переменные.

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

  8. Введите Items в поле Имя, выберите пункт Int32 в раскрывающемся списке Тип переменной и пункт While (Пока) в раскрывающемся списке Область, а в поле По умолчанию введите 0.

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

  10. Введите ProductName в поле Имя, выберите пункт Строка в раскрывающемся списке Тип переменной, а в раскрывающемся списке Область выберите пункт While (Пока).

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

  12. Введите следующее выражение в поле Условие действия While.

    Items < Count
    
  13. Перетащите действие GetDynamicValueProperty<T> из области DynamicValue в панели элементов и поместите его в элемент Body действия While.

    В окне Выбор типов, которое отображается после перемещения действия, выберите пункт Строка в раскрывающемся списке и нажмите кнопку ОК.

  14. В конструкторе рабочих процессов щелкните действие GetDynamicValueProperty<T>, чтобы его выбрать, и настройте следующие свойства.

    Свойство

    Значение

    DisplayName

    GetProductName

    PropertyName

    "(" + Items + ")/ProductName"

    Результат

    ProductName

    Источник

    ProductsData

  15. Перетащите действие SetUserStatus из области Runtime в панели элементов и поместите его в действии While после действия GetDynamicValueProperty<T> и укажите следующее выражение для свойства Description.

    "Product: " + ProductName
    
    System_CAPS_noteПримечание

    Обратите внимание, что при перемещении действия SetUserStatus добавляется включающее действие Sequence, содержащее действия GetDynamicValueProperty<T> и SetUserStatus.

  16. Перетащите действие Delay из области Примитивы на панели элементов, расположите его после только что добавленного действия SetUserStatus и укажите следующее выражение для свойства Длительность. Задержка позволяет клиенту рабочего процесса извлечь состояние до того, как рабочий процесс установит следующее состояние, и добавляется для целей данного руководства.

    TimeSpan.FromSeconds(1)
    
  17. Перетащите действие Assign из области Примитивы на панели элементов, расположите его после только что добавленного действия Delay и настройте следующие свойства.

    Свойство

    Значение

    Кому

    Элементы

    Значение

    Items + 1

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

    Свойство

    Значение

    Кому

    ProductsList

    Значение

    ProductsList + ProductName + "\n"

  19. Перетащите действие SetUserStatus из области Среда выполнения на панели элементов, расположите его после действия While в качестве последнего действия во внешнем действии Sequence и укажите следующее выражение для свойства Описание.

    "Products List:\n" + ProductsList
    

    Обратите внимание, что размер состояния пользователя ограничен 255 символами. Все символы после 255-го урезаются.

  20. Нажмите клавиши CTRL+SHIFT+B для построения решения.

    Чтобы просмотреть полный рабочий процесс и пошаговое видеоруководство для этого шага в учебнике, см. статью Workflow Manager 1.0 - Getting Started Tutorial (Workflow Manager 1.0 — учебник для начала работы).

Инструкции по созданию публикации и выполнению рабочего процесса см. в описании следующего шага учебника,Инструкции публикации и запуску рабочего процесса в Workflow Manager 1.0.

См. также

Workflow Manager 1.0 — учебник для начала работы