2011-01-11 4 views
3

Ich habe einen Workflow-Workflow, die drei Empfangsaktivitäten in einer sequenziellen Weise angeordnet haben.Windows-Workflow 4.0 InstancePersistenceCommand Fehler

dh

1.receive Anwendung 2. Manager1 Genehmigung 3. finale Manager Genehmigung mein Problem ist, dass ich in der Lage bin den Workflow von meiner Client-Anwendung zu konsumieren und rufen Sie die erste (Anwendungsaktivität erhalten), aber wenn ich versuche, zu nennen ich folgende Fehlermeldung

erhalten die zweite (manager1 Genehmigung erhalten Aktivität)

die Ausführung eines InstancePersistenceCommand wurde unterbrochen, weil die Instanz ‚16c3dae0-92f5-45e8-BDAF--d6f4051a0a39‘ noch nicht auf dem Instance-Speicher beibehalten worden .

Ich habe die Datenbank überprüfen (Instanz speichert Tabelle) und der Datensatz scheint zu existieren. Ich habe auch Correlation wie in diesem article angegeben Bitte helfen, das ist dringend

Antwort

0

Ist die GUID die richtige? Manchmal generiert die WF4-Laufzeitumgebung eine neue GUID, wenn sie keine vorhandene GUID findet, die zu einigen verwirrenden Fehlermeldungen führt. Auch das Ändern von Namespaces bremst die Korrelationsabfragen. Wenn Sie das getan haben, müssen Sie sie neu erstellen oder in XAML gehen und sie reparieren.

+0

die Guid ist die gleiche wie die in der Datenbank – lafama

+0

was meinst du mit "Ändern Namespaces" – lafama

+0

Jede SOAP Dienst und damit ein WF-Dienst verwenden einen Namensbereich als Teil seines Namens. Sie können diese ändern und das kann Probleme verursachen. – Maurice

4

Hallo Leute, ich habe endlich herausgefunden, was das Problem war (es dauerte drei Tage). Ich brauche nur die folgend

<serviceBehaviors> 
    <behavior> 
    <workflowIdle timeToUnload="0"/> 
</behavior> 

Sie weitere Details zu diesen article NB bekommen können hinzufügen: Mein Workflow wurde immer den Standard timeToUnload Wert von 1 Minute (Von der Maschine config). Wenn ich die nächste Empfangsaktivität in meinem Workflow anrief, war der Workflow noch im Speicher. (Wirklich seltsam)

+0

Der Arbeitsablauf im Arbeitsspeicher ist kein Problem und beschleunigt nur die Arbeit. Oder verwenden Sie eine Serverfarm und ist die zweite Anfrage auf einem anderen Server? – Maurice