Windows Workflow可以用C#而不是XAML编写吗?

时间:2018-05-16 20:04:03

标签: c# workflow-foundation xamlx

我们正在使用Windows Workflow Foundation来完成工作流程。包含工作流定义的XAMLX文件非常脆弱(它们通常最终无法打开)并且我们无法并行处理它们,因为我们无法合并这些更改(基础知识) XAML是人类可读的。我正在寻找方法来减轻必须通过内置的Visual Studio编辑器使用XAML的痛苦。是否可以在C#中定义Windows Workflow Foundation工作流程?

本文{"工作流结构&#34}中的文章article部分表明它是可能的,但没有给出完整的例子。

最终更新 请查看下面的答案,查看仅代码C#工作流的工作示例,并通过WCF进行配置以进行托管。

2 个答案:

答案 0 :(得分:4)

绝对 - 只需像在Xaml中一样完成您的活动。例如,以下内容将创建一个包含两个WriteLine活动的Sequence。

// Create a sequence containing 2 WriteLine activities.
var sequence = new Sequence();

sequence.Activities.Add(new WriteLine()
{
    Text = "Hello!"
});

sequence.Activities.Add(new WriteLine()
{
    Text = "Goodbye!"
});

// Now execute the sequence.
var wfApplication = new WorkflowApplication(sequence);
wfApplication.Run();

如果要创建自定义活动,则需要继承CodeActivity或NativeActivity - 但网上有很多此类示例:)

答案 1 :(得分:0)

我汇总了来自不同教程的信息,并提出了sample project演示Windows Workflow Foundation工作流程,该工作流程仅通过代码编写并作为WCF服务托管