0

在我之前的问题Resuming a persisted Window Workflow 4 Activity 不知道具体的活动类型的情况下继续我的问题

有没有办法直接通过InstanceStore(在我的例子中是SqlWorkflowInstanceStore实例)查询提升的属性,给定一个 workflowId?

我可以使用 SQL 直接查询数据库,但想知道这是否可以直接通过我已经在我的代码中使用的实例存储来完成。我一直在查看SqlWorkflowInstanceStore.Execute方法和QueryActivatableWorkflowsCommand但看不到它们完全符合我的要求。

这可能吗,如果可以,怎么办?

4

2 回答 2

1

您必须使用 SQL 命令来查询提升的属性。

于 2012-04-30T14:44:26.013 回答
0

它以这种方式对我有用:使用持久性参与者来存储活动类型,然后使用实例视图来检索这种类型。

InstanceHandle handle = instanceStore.CreateInstanceHandle(instanceId);
InstanceView view = instanceStore.Execute(handle, new LoadWorkflowCommand(), TimeSpan.FromSeconds(30));
string activityType = view.InstanceData[MyParticipantExtension.GetActivityTypeXName()].Value as string;
于 2015-07-21T17:33:34.567 回答