WorkflowPersistenceService.SaveCompletedContextActivity(Activity) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Při implementaci v odvozené třídě uloží zadaný dokončený obor do úložiště dat.
protected public:
abstract void SaveCompletedContextActivity(System::Workflow::ComponentModel::Activity ^ activity);
protected internal abstract void SaveCompletedContextActivity(System.Workflow.ComponentModel.Activity activity);
abstract member SaveCompletedContextActivity : System.Workflow.ComponentModel.Activity -> unit
Protected Friend MustOverride Sub SaveCompletedContextActivity (activity As Activity)
Parametry
Poznámky
Modul runtime pracovního postupu ukládá stav dokončených aktivit oboru, aby bylo možné implementovat kompenzaci. Musíte volat jednu z přetížených Save metod serializace activity do Stream; můžete se rozhodnout, že budete chtít dále zpracovat před zápisem Stream do úložiště dat. Při volání LoadCompletedContextActivitymodulu runtime pracovního postupu však musíte obnovit identickou kopii aktivity.
Pokud chcete obor označit jako nepotřebný v úložišti dat po dokončení nebo ukončení instance pracovního postupu, musíte být schopni přidružit dokončený obor k jeho nadřazené instanci pracovního postupu. Proto byste měli uložit Guid také instanci pracovního postupu, která je přidružena k dokončené oboru; to lze získat z InstanceId vlastnosti přidruženého WorkflowInstanceactivityk .
LoadCompletedContextActivity
Guid přebírá dokončený obor jako parametr. Proto musíte také uložit vlastnost přidruženou ContextGuidactivityk . Na tuto vlastnost lze odkazovat prostřednictvím ActivityContextGuidProperty pole activity.
Pokud implementujete službu trvalosti, která používá trvalé úložiště, abyste zachovali konzistenci s interním stavem modulu modulu runtime pracovního postupu, měli byste se účastnit dávkování transakcí pracovního postupu, které odloží skutečný zápis do trvalého úložiště, dokud nebude bod potvrzení pracovního postupu. Chcete-li se účastnit dávkování, přidejte pracovní položku do WorkBatch vlastnosti, která představuje čekající změny databáze, a implementujte IPendingWork rozhraní ve službě trvalosti.
Pokud dokončený obor nemůžete uložit do úložiště dat, měli byste vyvolat PersistenceException příslušnou chybovou zprávu.