Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可以通过InstanceStore直接查询WF4升级的属性?_C#_.net_Workflow Foundation 4_Workflow Foundation - Fatal编程技术网

C# 是否可以通过InstanceStore直接查询WF4升级的属性?

C# 是否可以通过InstanceStore直接查询WF4升级的属性?,c#,.net,workflow-foundation-4,workflow-foundation,C#,.net,Workflow Foundation 4,Workflow Foundation,关于我的上一个问题 在给定workflowId的情况下,是否有一种直接通过InstanceStore(在我的例子中是实例)查询提升属性的方法 我可以直接用SQL查询数据库,但我想知道是否可以直接通过我在代码中已经使用的实例存储来完成。我一直在研究方法和方法,但看不出它们是否完全符合我的要求 这是否可能,如果可能,如何实现?您必须使用SQL命令查询升级的属性。我的工作方式是:使用持久性参与者存储活动类型,然后使用实例视图检索此类型 InstanceHandle handle = instanceS

关于我的上一个问题

在给定workflowId的情况下,是否有一种直接通过
InstanceStore
(在我的例子中是实例)查询提升属性的方法

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


这是否可能,如果可能,如何实现?

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

我的工作方式是:使用持久性参与者存储活动类型,然后使用实例视图检索此类型

InstanceHandle handle = instanceStore.CreateInstanceHandle(instanceId);
InstanceView view = instanceStore.Execute(handle, new LoadWorkflowCommand(), TimeSpan.FromSeconds(30));
string activityType = view.InstanceData[MyParticipantExtension.GetActivityTypeXName()].Value as string;

谢谢@Maurice-我怀疑是这样的。我觉得我在这里遗漏了一些东西,可能正在试图解决一个比我需要的更复杂的问题。根本问题(链接问题)是,我想恢复以前持久化的工作流,在恢复时可能不知道具体的类型(尽管类型将在bin文件夹中定义),而不首先检查持久化的工作流。我正试图通过这个问题来保存和检索类型数据,但不知道我是否错过了要点。有没有更简单的方法,或者这条路线正确吗?如果有一些工作流定义,我倾向于创建多个数据库。否则,我会在启动工作流时插入一条新记录,以跟踪WF实例ID,并且WF定义是一个单独的特定于应用程序的表。