Freigeben über


Benachrichtigungen

Häufig ist es praktisch, auf Zustandsänderungen zu reagieren. Alle Rückrufe unterliegen den Orleans-basierten Garantien; siehe auch den Abschnitt über Konkurrenz-Garantien.

Nachverfolgen des bestätigten Zustands

Um über änderungen am bestätigten Zustand benachrichtigt zu werden, JournaledGrain können Unterklassen diese Methode außer Kraft setzen:

protected override void OnStateChanged()
{
   // read state and/or event log and take appropriate action
}

OnStateChanged wird aufgerufen, wenn der bestätigte Zustand aktualisiert wird, d. h. wenn die Versionsnummer erhöht wird. Dies kann passieren, wenn:

  1. Eine neuere Version des Zustands wurde aus dem Speicher geladen.
  2. Ein ereignis, das von dieser Instanz ausgelöst wurde, wurde erfolgreich in den Speicher geschrieben.
  3. Eine Benachrichtigung wurde von einer anderen Instanz empfangen.

Beachten Sie, dass alle Körner anfangs Version 0 aufweisen. OnStateChanged wird immer dann aufgerufen, wenn die anfängliche Last aus dem Speicher mit einer Version abgeschlossen ist, die größer als 0 ist.

Nachverfolgung des vorläufigen Status

Um über Änderungen am vorläufigen Zustand benachrichtigt zu werden, JournaledGrain können Unterklassen diese Methode außer Kraft setzen:

protected override void OnTentativeStateChanged()
{
   // read state and/or events and take appropriate action
}

OnTentativeStateChanged wird aufgerufen, wenn sich der Vorbehaltszustand ändert, d. h., wenn sich die kombinierte Sequenz (ConfirmedEvents + UnconfirmedEvents) ändert. Insbesondere erfolgt ein Rückruf an OnTentativeStateChanged() immer während RaiseEvent.