Шаблон автоподтверждения
Данный раздел относится к версии Windows Workflow Foundation 4.
Данный образец включает три сценария, иллюстрирующих пользовательское действие AutoConfirmScope
. В первом образце показано успешное выполнение последовательности из четырех подлежащих компенсации действий, из которых второе и третье действия являются вложенными в AutoConfirmScope
. Во втором образце показана та же последовательность с исключением, сформированным после выполнения четвертого действия CompensableActivity. В третьем сценарии показана та же последовательность с исключением, сформированным в AutoConfirmScope
после завершения второго действия CompensableActivity.
В образце демонстрируется шаблон автоматического подтверждения, в котором все дочерние действия, подлежащие компенсации, подтверждаются после успешного завершения области. Этот шаблон определяет время существования всех дочерних действий, подлежащих компенсации, поскольку они больше не могут быть компенсированы или подтверждены.
Область включает объект TryCatch, где Try является внутренним действием CompensableActivity. Определенное пользователем текст действия AutoConfirmScope
является текстом внутреннего действия CompensableActivity. Когда это внутреннее действие CompensableActivity завершается, оно создает объект CompensationToken как выходной аргумент. Действие AutoConfirmScope
использует свойство Finally для проверки, создан ли маркер, и если да, то подтверждает внутреннее действие CompensableActivity. Внутреннее действие CompensableActivity вызывает компенсацию по умолчанию для всех подлежащих компенсации действий, которые могут существовать в его теле.
В первом сценарии показано успешное выполнение рабочего процесса, и демонстрируется, что второе и третье действия, подлежащие компенсации, уже подтверждены, когда завершается рабочий процесс, а первое и четвертое действия подтверждаются. При этом создается порядок подтверждения: третье, второе, четвертое и первое.
Во втором сценарии показано исключение после завершения четырех подлежащих компенсации действий. Поскольку второе и третье подлежащие компенсации действия уже подтверждены, они не затрагиваются, но первое и четвертое компенсируются. При этом создается порядок следующий порядок: подтверждение третьего, подтверждение второго, компенсация четвертого и компенсация первого.
В последнем сценарии показано неуспешное выполнение действия AutoConfirmScope
. В этом сценарии исключение возникает после завершения второго действия CompensableActivity. Поскольку третье и четвертое подлежащие компенсации действия не выполнялись, они не затрагиваются. Поскольку область не завершена успешно, второе действие CompensableActivity не подтверждено. При этом создается порядок подтверждения: второе, затем первое.
Использование этого образца
В среде Visual Studio 2010 откройте файл решения AutoConfirmSample.sln.
Чтобы построить решение, нажмите клавишу 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\Compensation\AutoConfirm
|