Windows Workflow中的WorkflowServiceHost - .NET 4版本

时间:2010-01-24 23:10:52

标签: .net workflow-foundation workflow-foundation-4

我无法在.NET 4 / VS 2010 Beta 2附带的新版WorkflowServiceHost上找到任何有价值的文档。

WorkflowServiceHost的新版本现在位于System.ServiceModel.Activities中,并且具有与生活在System.ServiceModel中的旧.NET 3.x版本不同的构造函数。

我希望能够通过在.NET 3.x版本中传递类似此前一个构造函数的类型来加载我的工作流...

public WorkflowServiceHost(Type workflowType, params Uri[] baseAddress)

我的问题是我在编译时没有任何其他结构需要的信息(我计划通过Type.GetType(字符串)推断我的工作流类型,因为我只能访问实际运行时的工作流程活动。)

有没有其他方法可以托管已在运行时加载的工作流程?

提前感谢您的所有帮助:)

1 个答案:

答案 0 :(得分:1)

在WF4中,您将实际工作流定义作为活动树而不是之前的类型传递。如果你有类型创建一个对象应该是简单的使用像Activator.CreateInstance()。使用活动树而不是类型有一些好处,因为您可以动态创建对象使用ActivityXamlServices.Load()来读取XAML文件。

如果您愿意,可以在配置文件中完全完成WorkflowServiceHost的WCF部分。无需使用构造函数传递baseAddress。

WorkflowServiceHost的替代方法是使用WorkflowApplication。这仍然需要您将一个活动树添加到构造函数中。