Получение GetWorkflowInstanceId
Данный раздел относится к версии Windows Workflow Foundation 4.
В этом образце показывается, как можно использовать пользовательское действие GetWorkflowInstanceId
для возвращения идентификатора экземпляра рабочего процесса.
Демонстрации
Разработка пользовательского действия, метод доступа к экземпляру рабочего процесса.
Обсуждение
Для получения идентификатора экземпляра выполняющегося рабочего процесса необходимо написать код. Если необходимо написать полностью декларативный рабочий процесс, то требуется действие, возвращающее идентификатор экземпляра рабочего процесса, что позволит ссылаться на это действие в рабочем процессе в полностью декларативной манере. Доступ к идентификатору экземпляра требуется во многих случаях, например при ведении журнала с целью аудита или при осуществлении корреляции на уровне приложения с предоставлением идентификатора экземпляра клиенту для последующего создания ассоциации (например, при использовании этого действия в действии SendReply).
Действие GetWorkflowInstanceId
реализуется как CodeActivity, поскольку оно должно возвращать значение типа Guid и должно иметь доступ к контексту CodeActivityContext для получения идентификатора экземпляра рабочего процесса. Его реализация производится достаточно просто.
public sealed class GetWorkflowInstanceId : CodeActivity<Guid>
{
protected override Guid Execute(CodeActivityContext context)
{
return context.WorkflowInstanceId;
}
}
Примечание |
---|
Образцы уже могут быть установлены на компьютере. Перед продолжением проверьте следующий каталог (по умолчанию).
<диск_установки>:\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\GetWorkflowInstanceId
|