Ожидание входного действия
Данный раздел относится к версии Windows Workflow Foundation 4.
В этом образце показывается создание именованных закладок в рабочем процессе. В Windows Workflow Foundation (WF) нет действия для декларативного создания закладок. В связи с этим, когда необходимо создать закладку в рабочем процессе, необходимо написать пользовательское действие, которое ее создаст. Действие WaitForInput
, определенное в этом образце, предоставляет эти функциональные возможности. С его помощью пользователи могут создавать в рабочем процессе закладки декларативным образом.
Проекты в этом образце
Имя проекта |
Описание |
Основные файлы |
WaitForInput |
Содержит действие |
WaitForInput.cs Определение действия |
WaitForInputDesigner.xaml Пользовательский конструктор для действия |
||
TypeToFirstGenericArgumentConverter.cs Преобразователь типа WPF, используемый для обновления универсального типа действия в конструкторе. |
||
WaitForInputTestClient |
Образец клиентского приложения, настраивающего и запускающего рабочий процесс с помощью нескольких действий WaitForInput в конструкторе рабочих процессов. |
Sequence1.xaml Последовательный рабочий процесс, использующий действие |
Program.cs Выполняет экземпляр рабочего процесса, определенного в Sequence1.xaml. |
Действие WaitForInput
Действие WaitForInput
создает именованную закладку в рабочем процессе. Закладка ждет сигнала и получает данные заданного ей типа. После продолжения закладки данные, переданные рабочему процессу, доступны через свойство Result
.
Действие WaitForInput
является производным от класса NativeActivity, поскольку оно должно создавать закладки, доступные только через класс NativeActivityContext.
Действие имеет три атрибута, применяющиеся к нему для привязки конструктора, для добавления функции общего аргумента, которая может быть обновлена, и для задания общего типа по умолчанию для строки. Действие также имеет аргументы, перечисленные в следующей таблице.
Имя |
Тип |
Описание |
TResult |
Общий аргумент (TResult) |
Тип закладки. Это тип данных, которые должны быть переданы закладке при продолжении. |
BookmarkName |
InArgument<string> |
Имя закладки. |
Result |
InArgument<TResult> |
Данные, передаваемые действию при продолжении с закладки. |
Конструктор действия WaitForInput
Конструктор действий WaitForInput
реализован в файле WaitForInputDesigner.xaml. Действие WaitForInput
и его конструктор включены в одну сборку. На следующем рисунке показано действие WaitForInput
на панели элементов в категории с таким же именем, как у сборки.
На следующем рисунке показан конструктор WaitForInput
. Поскольку действие WaitForInput
является очень простым, конструктор позволяет задавать все аргументы напрямую в области конструктора.
Использование этого образца
Откройте файл WaitForInput.sln в среде Visual Studio 2010.
Чтобы построить решение, нажмите клавишу F6.
Чтобы запустить образец без отладки, нажмите сочетание клавиш CTRL+F5.
![]() |
---|
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).
<диск_установки>:\WF_WCF_Samples
Если этот каталог не существует, перейдите на страницу Образцы Windows Communication Foundation (WCF) и Windows Workflow Foundation (WF) для .NET Framework 4, чтобы загрузить все образцы Windows Communication Foundation (WCF) и WF. Этот образец расположен в следующем каталоге.
<диск_установки>:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\WaitForInput
|