Ich habe einen WF4-Workflow mit mehreren Empfangsfunktionen.Mehrere Empfangsaktivitäten in WF4 schlagen fehl, wenn Persistenz aktiviert ist
Der Workflow läuft gut, bis ich die Persistenz hinzufüge. Ich habe die Ausdauer Tabellen und addierten die folgenden in das Verzeichnis \ configuration \ system.serviceModel \ Verhaltensweisen \ serviceBehaviors Abschnitt meiner 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>
Der Workflow übernimmt einen Parameter, der eine Instanz eines WorkflowInstanceDTO POCO ist, ich habe definiert.
Wenn ich laufe den Workflow mit dem folgenden Code
var wfi = new WFService.WorkflowInstanceDTO()
{
Id = 1,
InstanceId = new Guid(),
Description = "Awesome WFI",
WorkflowId = 1
};
proxy.Create(wfi);
Es ist mit dem folgenden Fehler auf der proxy.Create Linie versagt.
Eine Instanz Schlüssel-Wert '11e5cf14-c2a8-0fbf-d3b5-c12a91c174ff' bereits vorhanden ist. Dies könnte daran liegen, dass mehrere MessageQuerySets definiert sind, die denselben CorrelationKey als auswerten.
Wenn die Persistenz nicht aktiviert ist, bekomme ich diesen Fehler nicht. Hat jemand das gesehen? Was mache ich falsch?