Новые возможности в Windows Workflow Foundation (WF)

Windows Workflow Foundation (WF) в платформа .NET Framework 4 изменяет несколько парадигм разработки по сравнению с предыдущими версиями. Теперь рабочие процессы стало еще проще создавать, выполнять и поддерживать, а также реализовывать узел с новыми функциями. Дополнительные сведения о переносе приложений рабочих процессов платформа .NET Framework 3.0 и платформа .NET Framework 3.5 для использования последней версии см. в статье Руководство по миграции.

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

Теперь действие, а не использования класса SequentialWorkflowActivity или StateMachineWorkflowActivity является базовой единицей создания рабочего процесса. Класс Activity обеспечивает базовую абстракцию поведения рабочего процесса. Авторы действий могут использовать CodeActivity для базовых функций пользовательских действий или NativeActivity для функций пользовательских действий, использующих среду выполнения. Activity — это класс, используемый авторами действий для декларативного выражения новых поведений с точки зрения других NativeActivityобъектов , CodeActivity, AsyncCodeActivityили DynamicActivity , независимо от того, разработаны ли они специально или включены в встроенную библиотеку действий.

Параметры сложных композитных действий

Flowchart - это новое мощное действие потока управления, позволяющее авторам моделировать произвольные циклы и условное ветвление. Flowchart предоставляет модель программирования на основе событий, которую раньше можно было реализовать только с помощью StateMachineWorkflowActivity. Процедурные рабочие процессы получают дополнительные преимущества благодаря новым действиям управления потоком, которые моделируют обычные структуры управления потоком, такие как TryCatch и Switch<T>.

Расширенная библиотека встроенных действий

Новые возможности библиотеки действий:

Явная модель данных действия

платформа .NET Framework 4 включает новые варианты хранения или перемещения данных. Данные можно сохранить в действии при помощи переменной Variable. При перемещении данных в действие и из него для определения направления перемещения данных используются специальные типы аргументов. Такими типами являются InArgument, InOutArgument и OutArgument. Дополнительные сведения см. в статье Модель данных Windows Workflow Foundation.

Улучшенные варианты размещения на узле, сохраняемости и отслеживания

платформа .NET Framework 4 содержит улучшения сохраняемости, такие как:

  • Добавлены новые параметры для выполнения рабочих процессов, включая WorkflowServiceHost, WorkflowApplication и WorkflowInvoker.

  • При помощи действия Persist данные состояния рабочего процесса можно сохранять явным образом.

  • Узел может сохранить экземпляр ActivityInstance, не выгружая его.

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

  • Транзакции могут быть введены в рабочий процесс при помощи TransactionScope.

  • Выполнять отслеживание проще благодаря TrackingParticipant.

  • Отслеживание и запись в журнал системных событий обеспечивается при помощи EtwTrackingParticipant.

  • Для возобновления ожидающего рабочего процесса теперь используется объект Bookmark.

Более удобное расширение среды проектирования WF Designer

Новый конструктор WF основан на Windows Presentation Foundation (WPF) и предоставляет более простую модель для использования при повторном размещении конструктора WF за пределами Visual Studio, а также предоставляет более простые механизмы для создания пользовательских конструкторов действий. Дополнительные сведения см. в разделе Настройка интерфейса проектирования рабочих процессов.