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


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

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 объектов, будь то настраиваемые или включенные в Built-In библиотеку действий.

Расширенные параметры составного действия

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

Расширенная библиотека действий Built-In

К новым функциям библиотеки активности относятся:

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

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

Расширенные параметры размещения, сохраняемости и отслеживания

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

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

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

  • Хост может сохранять ActivityInstance без его выгрузки.

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

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

  • Отслеживание проще выполнять с помощью TrackingParticipant.

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

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

Упрощение процесса расширения функциональности конструктора WF

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