1

我在.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(string) 推断我的工作流的类型,因为我只能访问实际的工作流活动运行)。

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

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

4

1 回答 1

1

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

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

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

于 2010-01-25T08:56:16.900 回答