У меня есть рабочий процесс WF4 с несколькими функциями приема.
Рабочий процесс работает нормально, пока я не добавлю постоянство. Я создал таблицы персистентности и добавил следующее в раздел \ configuration \ system.serviceModel \ moodiors \ serviceBehaviors моего web.config:
<behavior>
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true" />
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="true" />
<sqlWorkflowInstanceStore connectionStringName="InstanceStore"
instanceCompletionAction="DeleteAll"
instanceLockedExceptionAction= "NoRetry"
instanceEncodingOption="None"
hostLockRenewalPeriod="00:01:00"
/>
</behavior>
Рабочий процесс принимает параметр, который является экземпляром WorkflowInstanceDTO POCO, который я определил.
Когда я запускаю рабочий процесс со следующим кодом
var wfi = new WFService.WorkflowInstanceDTO()
{
Id = 1,
InstanceId = new Guid(),
Description = "Awesome WFI",
WorkflowId = 1
};
proxy.Create(wfi);
Ошибка в прокси. Создайте строку со следующей ошибкой.
Ключ экземпляра со значением '11e5cf14-c2a8-0fbf-d3b5-c12a91c174ff'
уже существует. Это может быть потому, что есть несколько
Определены наборы MessageQuerySets, которые оценивают один и тот же CorrelationKey.
Когда постоянство не включено, я не получаю эту ошибку. Кто-нибудь видел это? Что я делаю не так?