Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Často je vhodné reagovat na změny stavu. Všechna zpětná volání podléhají zárukám založeným na Orleanstazích; viz také část o zárukách souběžnosti.
Sledovat potvrzený stav
Pro informování o jakýchkoli změnách potvrzeného stavu mohou podtřídy tuto metodu přepsat:
protected override void OnStateChanged()
{
// read state and/or event log and take appropriate action
}
OnStateChanged
je volána při každé aktualizaci potvrzeného stavu, tj. zvýšení počtu verzí. K tomu může dojít v následujícím případě:
- Z úložiště se načetla novější verze stavu.
- Událost vyvolaná touto instancí byla úspěšně zapsána do úložiště.
- Zpráva s oznámením byla přijata z nějaké jiné instance.
Všimněte si, že protože všechna zrna mají původně verzi nula, je OnStateChanged
voláno vždy, když se počáteční načtení z úložiště dokončí s verzí větší než nula.
Sledovat nezávazný stav
Pokud chcete být informováni o jakýchkoli změnách předběžného stavu, mohou podtřídy přepsat tuto metodu:
protected override void OnTentativeStateChanged()
{
// read state and/or events and take appropriate action
}
OnTentativeStateChanged
je volána vždy, když se nezávazný stav změní, tj. pokud se kombinovaná sekvence (ConfirmedEvents
+ UnconfirmedEvents
) změní. Zejména ke zpětnému volání OnTentativeStateChanged()
vždy dochází během RaiseEvent.