Бөлісу құралы:


Поддержка новых возможностей Workflow Foundation 4.5 во вновь размещенном конструкторе рабочих процессов

Windows Workflow Foundation (WF) в платформа .NET Framework 4.5 появилось множество новых функций, включая несколько улучшений в интерфейсе конструктора рабочих процессов. В этом разделе подробно описываются те возможности, которые поддерживаются в повторно размещенном конструкторе, и те, которые в настоящее время не поддерживаются.

Примечание.

Список всех новых функций Windows Workflow Foundation (WF), представленных в платформа .NET Framework 4.5, включая те, которые не связаны с повторной размещением конструктора, см. в статье "Новые возможности Windows Workflow Foundation" в платформа .NET Framework 4.5.

Процедуры

Встроенная библиотека действий содержит новые действия, а также новые функции для существующих действий. Все эти действия поддерживаются в повторно размещенном конструкторе. Дополнительные сведения об этих новых действиях см. в разделе "Действия" статьи "Новые возможности Windows Workflow Foundation" в платформа .NET Framework 4.5.

Выражения C#

До платформа .NET Framework 4.5 все выражения в рабочих процессах могут быть написаны только в Visual Basic. В платформа .NET Framework 4.5 выражения Visual Basic используются только для проектов, созданных с помощью Visual Basic. Теперь в проектах Visual C# для выражений используется язык C#. При создании рабочих процессов в Visual Studio 2012 полнофункциональный редактор выражений C# предоставляется, какие возможности, такие как выделение грамматики и intellisense. Проекты рабочих процессов C#, созданные в предыдущих версиях с использованием выражений Visual Basic, будут по-прежнему работать.

Предупреждение

Выражения на языке C# не поддерживаются в повторно размещенном конструкторе.

Новые возможности конструктора

Функции быстрого поиска и поиска в файлах, представленные с платформа .NET Framework 4.5, не поддерживаются в повторно размещенном конструкторе. Поиск Toolbox поддерживается в повторно размещенном конструкторе. Дополнительные сведения об этих функциях см. в разделе "Поиск конструктора".

Предупреждение

Быстрый поиск и поиск в файлах не поддерживается в повторно размещенном конструкторе.

Пункт контекстного меню «Удалить» в конструкторе переменных и аргументов

В платформа .NET Framework 4 переменные и аргументы можно удалить только в конструкторе с помощью клавиатуры. Начиная с платформа .NET Framework 4.5, переменные и аргументы можно удалить с помощью контекстного меню. Эта возможность поддерживается в повторно размещенном конструкторе.

На следующем снимке экрана показано контекстное меню конструктора переменных и аргументов.

Variable and Argument Designer Context Menu

Автоматическое окружение с последовательностью

Поскольку рабочий процесс или некоторые действия с контейнерами (например, NoPersistScope) могут содержать только одно действие с текстом, при добавлении второго действия разработчик должен удалить первое действие, добавить действие Sequence, а затем добавить оба действия в действие последовательности. Начиная с платформа .NET Framework 4.5 при добавлении второго действия в область конструктора действие Sequence будет автоматически создано для упаковки обоих действий. Эта возможность поддерживается в повторно размещенном конструкторе.

На следующем снимке экрана показано действие WriteLine в Body для NoPersistScope.

A WriteLine activity in the Body of a NoPersistScope activity.

На следующем снимке экрана показано автоматически созданное действие Sequence в Body, когда второй объект WriteLine сбрасывается ниже первого.

An automatically created Sequence in the Body of a NoPersistScope.

Панорамный режим

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

На следующем снимке экрана показана кнопка панорамирования, расположенная в правом нижнем углу конструктора рабочих процессов.

The pan button highlighted in the workflow designer.

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

Множественный выбор

Можно выбрать несколько действий одновременно, растягивая прямоугольник вокруг них (если не включен панорамный режим) или удерживая клавишу CTRL и последовательно щелкая необходимые действия. Эта возможность поддерживается в повторно размещенном конструкторе.

Несколько выделенных действий можно перетаскивать внутри конструктора, а также взаимодействовать с ними с помощью контекстного меню.

Представление структуры элементов рабочего процесса

Для упрощения навигации по иерархическим рабочим процессам компоненты рабочего процесса отображаются в виде древовидной структуры. Представление структуры отображается в представлении структуры документа. Чтобы открыть это представление в Visual Studio, в верхнем меню выберите "Вид", "Другие окна", "Структура документа" или нажмите клавиши CTRL W,U. Щелкнув узел в представлении структуры, можно перейти к соответствующему действию в конструкторе рабочих процессов. Представление структуры будет обновлено с отображением действий, выбранных в конструкторе. Эта возможность поддерживается в повторно размещенном конструкторе.

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

Screenshot of outline view with a sequential workflow in Visual Studio

Дополнительные возможности управления видимостью панели оболочки и элементов заголовка

В повторно размещенном конструкторе некоторые из стандартных элементов управления пользовательского интерфейса могут не иметь значения для заданного рабочего процесса и могут быть отключены. В платформа .NET Framework 4 эта настройка поддерживается только панелью оболочки в нижней части конструктора. В платформа .NET Framework 4.5 видимость элементов заголовка оболочки в верхней части конструктора можно настроить, установив WorkflowShellHeaderItemsVisibility соответствующее ShellHeaderItemsVisibility значение.

Автоматическое соединение и автоматическая вставка в рабочих процессах блок-схемы и конечного автомата

В платформа .NET Framework 4 необходимо вручную добавить подключения между узлами в рабочем процессе блок-схемы. В платформа .NET Framework 4.5 узлы блок-схемы и конечных машин имеют точки автоматического подключения, которые становятся видимыми при перетаскивании действия с панели элементов на область конструктора. При сбросе действия в одной из этих точек автоматически добавляется действие вместе с необходимым соединением.

На следующем снимке экрана показаны точки присоединения, которые появляются при перетаскивании действия из области элементов.

Flowchart start node showing auto-connect points

Действия можно также перетаскивать на соединения между узлами блок-схемы и состояниями для автоматической вставки узла между двумя другими узлами. На следующем снимке экрана показана выделенная соединительная линия, на которую можно перетаскивать действия из области элементов.

Auto-insert handle for dropping activities

Автоматическое соединение и автоматическая вставка поддерживаются в повторно размещенном конструкторе.

Заметки конструктора

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

Screenshot that shows the menu for adding notations.

Заметки конструктора поддерживаются в повторно размещенном конструкторе.

Определение и использование объектов ActivityDelegate в конструкторе

Действия в платформа .NET Framework 4 используемых ActivityDelegate объектах для предоставления точек выполнения, в которых другие части рабочего процесса могут взаимодействовать с выполнением рабочего процесса, но использование этих точек выполнения обычно требует достаточного количества кода. В этом выпуске разработчики могут определять и использовать делегаты действий с помощью конструктора рабочих процессов. Дополнительные сведения см. в разделе "Практическое руководство. Определение и использование делегатов действий в конструкторе рабочих процессов".

Делегаты действий поддерживаются в повторно размещенном конструкторе.

Проверка во время сборки

В платформа .NET Framework 4 ошибки проверки рабочего процесса не считались ошибками сборки во время сборки проекта рабочего процесса. Это значило, что сборка проекта рабочего процесса могло завершиться успешно даже при наличии ошибок проверки рабочего процесса. В платформа .NET Framework 4.5 ошибки проверки рабочего процесса вызывают сбой сборки.

Предупреждение

Проверка во время сборки не поддерживается в повторно размещенном конструкторе.

Фоновая проверка во время разработки

В платформа .NET Framework 4 рабочие процессы были проверены как процесс переднего плана, который потенциально может блокировать пользовательский интерфейс во время сложных или временных процессов проверки. Теперь проверка рабочего процесса выполняется в фоновом потоке, поэтому пользовательский интерфейс не блокируется.

Фоновая проверка во время разработки поддерживается в повторно размещенном конструкторе.

Состояние просмотра в отдельном расположении в файлах XAML

В платформа .NET Framework 4 сведения о состоянии представления рабочего процесса хранятся в XAML-файле во многих разных расположениях. Это неудобно для разработчиков, которым требуется прочитать язык XAML напрямую или написать код для извлечения информации о состоянии просмотра. В платформа .NET Framework 4.5 сведения о состоянии представления в XAML-файле сериализуются как отдельный элемент в XAML-файле. Разработчики могут легко находить и изменять сведения о состоянии представления действия или полностью удалять состояние представления.

Эта функция поддерживается в повторно размещенном конструкторе рабочих процессов.

Включаемые по требованию возможности рабочего процесса 4.5 в повторно размещенном конструкторе

Чтобы сохранить обратную совместимость, некоторые новые функции, включенные в платформа .NET Framework 4.5, по умолчанию не включены в повторно размещенном конструкторе. Таким образом, работа существующих приложений, использующих повторно размещенный конструктор, не нарушается обновлением до последней версии. Чтобы включить новые возможности в повторно размещенном конструкторе, задайте для TargetFrameworkName значение «.NET Framework 4.5» или задайте отдельные элементы DesignerConfigurationService, чтобы включить отдельные возможности.

Новые модели разработки рабочего процесса

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

Рабочие процессы конечного автомата

Рабочие процессы компьютера состояния были представлены в составе платформа .NET Framework 4.0.1 в Microsoft платформа .NET Framework 4 с обновлением платформы 1. Это обновление включило несколько новых классов и действий, которые дали возможность разработчикам создавать рабочие процессы конечного автомата. Эти классы и действия были обновлены для платформа .NET Framework 4.5. Обновления включают следующее:

  1. Возможность установки точек останова на состояниях

  2. Возможность копирования и вставки переходов в конструкторе рабочих процессов

  3. Поддержка совместного создания перехода триггера в конструкторе

  4. Действия для создания рабочих процессов конечного автомата, включая StateMachine, State и Transition

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

Illustration that shows the completed state machine workflow.

Дополнительные сведения о создании рабочих процессов компьютера состояния см. в разделе "Рабочие процессы state Machine". Рабочие процессы конечного автомата поддерживаются в повторно размещенном конструкторе.

Разработка рабочих процессов с первоначальным контрактом

Средство разработки рабочих процессов для первого контракта позволяет разработчику сначала создавать контракт в коде, а затем с несколькими щелчками мыши в Visual Studio, автоматически создавать шаблон действия на панели элементов, представляющих каждую операцию. Эти действия затем используются для создания рабочего процесса с операциями, указанными в контракте. Конструктор рабочих процессов проверяет службу рабочего процесса для проверки того, что эти операции реализованы, а сигнатура рабочего процесса соответствует сигнатуре контракта. Разработчик также может связать службу рабочего процесса с коллекцией реализованных контрактов. Дополнительные сведения о разработке службы рабочих процессов для первого контракта см. в статье "Практическое руководство. Создание службы рабочего процесса, использующую существующий контракт службы".

Предупреждение

Разработка рабочего процесса с первоначальным контрактом не поддерживается в конструкторе рабочих процессов.