我试图在Worfklows上测试微软的例子。此示例WF_WCF_Samples \ WF \ Basic \ Persistence \ PersistenceParticipants正在运行,但持久工作流的数据不存储在InstancePromotedProperties表中。任何人都可以解释如何在没有数据存储在此表中的情况下工作吗?感谢你的时间
答案 0 :(得分:1)
对于必须匹配的不同移动部件,设置有点棘手。
首先,您需要使用SqlWorkflowInstanceStore.Promote()告诉SqlWorkflowInstanceStore将值存储在InstancePromotedProperties表中。接下来,您需要一个PersistenceParticipant,您需要覆盖CollectValues()并将要提升的值存储在两个集合中的任何一个中。最后,您必须将工作流程中的数据导入先前创建的PersistenceParticipant。这可以使用TrackingParticipant或自定义活动来完成。
无论你做什么,你需要确保所有XNames都匹配。在CollectValues()中添加一个并推广另一个,什么都不会发生,也没有例外。并且有一个提升布尔值的错误。这不会导致没有数据写入InstancePromotedProperties,因此请确保在收集它们之前将它们转换为整数或字符串。