Stornierung des auftrages Muster

Es ist auch ein gutes API-Muster, um Ihr CancellationToken als letzten Parameter zu behalten, den Ihre Methode akzeptiert. Dies passt sowieso gut zu optionalen Parametern, da sie nach allen erforderlichen Parametern angezeigt werden müssen. Erzeugt eine Saga für eine Aktion, die an den Store gesendet wird und dem Muster entspricht. Nach dem Laichen einer Aufgabe akzeptiert sie immer noch eingehende Aktionen in den zugrunde liegenden Puffer, wobei sie höchstens 1 (die letzte) behält, aber gleichzeitig mit dem Laichen einer neuen Aufgabe für ms Millisekunden (daher ihr Name – Drosselung) schritt. Zweck hierfür ist es, eingehende Aktionen für einen bestimmten Zeitraum während der Verarbeitung einer Aufgabe zu ignorieren. takeEvery verarbeitet nicht außergeordnete Antworten von Aufgaben. Es gibt keine Garantie, dass die Vorgänge in der gleichen Reihenfolge beendet werden, in der sie gestartet wurden. Um Antworten ajünge, die nicht in der Reihenfolge angezeigt werden, können Sie die folgenden Punkte in Betracht ziehen. Für weitere Informationen empfehle ich das Lesen dieses Dokuments: “Verwenden von Abbruchunterstützung in .NET Framework 4”. Dieses Problem kann in strukturierten Prozessen leicht behoben werden, da alle Zweige zurück zum vorhergehenden Split-Konstrukt, das dem Cancelling Diskriminator entspricht, abgebrochen werden sollten. In Abbildung 47(a) ist leicht zu erkennen, dass der durch das gepunktete Feld bezeichnete Bereich der Abbruchbereich sein sollte.

Es ist eine komplexere Angelegenheit, wenn der Prozess nicht strukturiert ist (z. B. wie in Abbildung 47 Buchstabe b)) oder andere Eingabebögen in den vorhergehenden Zweigen zum Abbruchdiskriminator vorhanden sind, die nicht mit der entsprechenden Aufteilung zusammenhängen, wie in Abbildung 47(c) dargestellt. In beiden Situationen dient die Gesamtstruktur des Prozesses, der zum Cancelling Diskriminator führt, als Determinant, ob das Muster unterstützt werden kann oder nicht. In Abbildung 47(b) kann eine Abbruchregion konzipiert werden, die bis zum ersten AND-Split zurückreicht, und das Muster kann auf dieser Grundlage implementiert werden. Ein formaler Ansatz zur Bestimmung des Umfangs der Abbruchregion kann an anderer Stelle gefunden werden [vdA01]. In Abbildung 47 Buchstabe c bedeutet das Potential, andere Kontrollflüsse einzuführen, die sich nicht auf die frühere AND-Teilung beziehen, dass das Muster im Prozessmodell dieses Formulars wahrscheinlich nicht unterstützt werden kann. Die Order Cancel Request Message fordert die Stornierung der gesamten verbleibenden Menge eines vorhandenen Auftrags. Beachten Sie, dass die Anforderung Order Cancel/Replace” verwendet werden sollte, um einen Auftrag teilweise zu stornieren (reduzieren). Das in diesem Beitrag beschriebene Muster funktioniert für die meisten Anwendungsfälle. Es gibt jedoch einen großen Gotcha. Die Hauptschwierigkeit bei diesem Muster besteht darin, zu bestimmen, wie viel des Prozessmodells vor dem Cancelling Diskriminator in den Abbruchbereich einbezogen werden soll.