我在工作流的开头放了一个InitializeCorrelation活动,然后我想关联不同的密钥,所以我用另一个密钥放了另一个InitializeCorrelation活动,但是我收到了这个错误:
InstancePersistenceCommand的执行被中断,因为实例密钥'a765c209-5adc-4f03-9dd2-1af5e33aab3b'未与实例关联。这可能是因为实例或密钥已被清除,或者因为密钥无效。如果生成的消息是在错误的时间发送或包含不正确的关联数据,则密钥可能无效。
那么,是否可以在工作流程启动后更改相关性?
答案 0 :(得分:0)
查看存储持久实例的数据库中的Instances表。其中一个条目可能具有挂起状态,还有一个列有一些错误描述。是什么导致了这个错误?您是否对工作流程进行了一些更改并进行了部署?
答案 1 :(得分:0)
要明确回答问题,是的,您可以根据相关性更改数据。您不仅可以在序列中执行此操作,还可以在Parallel活动的每个分支中使用不同的关联数据。可以使用InitializeCorrelation或SendReply活动初始化相关性,如下所述:http://msdn.microsoft.com/en-us/library/ee358755(v=vs.100).aspx。
由于工作流设计器不是Visual Studio中最强大的部分(从未检查过XPath查询,有时甚至构建错误都不会反映在活动上等),通常情况并不总是很明显。所以,我建议如下: