Frage

an der Spitze meiner Vorlage Workflow ich einen ReceiveRequest / Sendreply-Block setzen, wo ich synchrone Operationen auszuführen möchten, ermöglicht dann den Benutzer-Client eine rechtzeitige Reaktion des Workflows erhalten gestartet wird. Client ruft die WF über WCF.

Client kennt den Status des aktuellen Auftrags mit dem Status eines Eintrags auf meiner Anwendungsdatenbank.

Zum Beispiel erstelle ich einen Auftrag, rufen Sie einen PlaceOrderWF, setzen Sie den Status des Auftrags auf DB zu „Akzeptiert“. Der Client kann dann durchführen, was er will, während die WF Kontrollen, Kontrollen zu tun, etc, ..., um den endgültigen Wert des Auftrags auf „Abgeschlossen“ gestellt oder „Error“.

Ich gehe davon aus, dass die Client-Antwort nur nach dem Sendresponse Block erhalten wird. Eigentlich scheint es nicht so zu arbeiten, aber es wartet auf eine Art „Event“ den Client zu veröffentlichen. Leider habe ich keine Hinweise auf Ereignisse dieses Verhalten auslösen.

Um es zu testen, nur eine Aktivität Verzögerung setzen nach der SendResponde Aktivität und Sie sollten das Verhalten der ich spreche reproduzieren können.

Für Hinweise, wie diese unerwünschten Fehler zu vermeiden?

WF-Vorlage - Operation links Name absichtlich blank

War es hilfreich?

Lösung

The workflow will continue and execute as much as it can on the current thread and as a result doesn't return to the caller right away.If you add a Delay with a small timeout, say 1 second, to the workflow this will cause the workflow to go idle and the WCF response to be send to the client after which the workflow will continue.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top