Megosztás a következőn keresztül:


Notifications

Gyakran kényelmes, ha képes reagálni az állapotváltozásra. Minden visszahívásra Orleans"turn-based" garanciák vonatkoznak; lásd még az egyidejűségi garanciákról szóló szakaszt.

Igazolt állapot nyomon követése

Ha értesítést szeretne kapni a megerősített állapot változásairól, JournaledGrain<TGrainState,TEventBase> az alosztályok felülbírálhatják ezt a módszert:

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

OnStateChanged a rendszer a megerősített állapot frissítésekor hívja meg, azaz a verziószám növekszik. Ez akkor fordulhat elő, ha

  1. Az állapot egy újabb verziója lett betöltve a tárolóból.
  2. A példány által felvetett esemény sikeresen meg lett írva a tárolóba.
  3. Egy másik példánytól kapott értesítési üzenetet.

Vegye figyelembe, hogy mivel az összes szemcse kezdetben nulla verzióval rendelkezik, amíg a tárolóból érkező kezdeti terhelés be nem fejeződik, ez azt jelenti, hogy OnStateChanged() a rendszer ezt akkor hívja meg, amikor a kezdeti terhelés nullánál nagyobb verzióval fejeződik be.

Feltételes állapot nyomon követése

Ha értesítést szeretne kapni a feltételes állapot változásairól, JournaledGrain az alosztályok felülbírálhatják ezt a módszert:

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

OnTentativeStateChanged() a feltételes állapot változásakor hívjuk meg, azaz ha a kombinált sorozat (ConfirmedEvents + UnconfirmedEvents) megváltozik. Különösen a visszahívás OnTentativeStateChanged() mindig történik a RaiseEvent.