Sdílet prostřednictvím


WorkflowPersistenceService.LoadCompletedContextActivity Metoda

Definice

Při implementaci v odvozené třídě načte zadaný dokončený obor zpět do paměti.

protected public:
 abstract System::Workflow::ComponentModel::Activity ^ LoadCompletedContextActivity(Guid scopeId, System::Workflow::ComponentModel::Activity ^ outerActivity);
protected internal abstract System.Workflow.ComponentModel.Activity LoadCompletedContextActivity (Guid scopeId, System.Workflow.ComponentModel.Activity outerActivity);
abstract member LoadCompletedContextActivity : Guid * System.Workflow.ComponentModel.Activity -> System.Workflow.ComponentModel.Activity
Protected Friend MustOverride Function LoadCompletedContextActivity (scopeId As Guid, outerActivity As Activity) As Activity

Parametry

scopeId
Guid

Dokončený Guid obor.

outerActivity
Activity

Představuje Activity aktivitu, která uzavře dokončený obor.

Návraty

Activity

Jedná se Activity o dokončený obor.

Příklady

Následující příklad ukazuje implementaci LoadCompletedContextActivity metody. Tento příklad je z ukázky vlastní služby trvalosti ze souboru FilePersistenceService.cs. Další informace najdete v tématu Ukázka vlastní služby trvalosti.

// Load the completed activity state.
protected override Activity LoadCompletedContextActivity(Guid activityId, Activity outerActivity)
{
    Console.WriteLine("Loading completed activity context: {0}", activityId);
    byte[] workflowBytes = DeserializeFromFile(activityId);
    Activity deserializedActivities = WorkflowPersistenceService.RestoreFromDefaultSerializedForm(workflowBytes, outerActivity);
    return deserializedActivities;
}
' Load completed activity state.
Protected Overrides Function LoadCompletedContextActivity(ByVal scopeId As System.Guid, ByVal outerActivity As System.Workflow.ComponentModel.Activity) As System.Workflow.ComponentModel.Activity
    Console.WriteLine("Loading completed activity context: 0}", scopeId)
    Dim workflowBytes As Byte() = DeserializeFromFile(scopeId)
    Dim deserializedActivities As Activity = WorkflowPersistenceService.RestoreFromDefaultSerializedForm(workflowBytes, outerActivity)
    Return deserializedActivities
End Function

Poznámky

Modul runtime pracovního postupu používá LoadCompletedContextActivity k implementaci kompenzace. Je nutné obnovit identickou kopii dokončeného oboru. Abyste to mohli udělat, musíte obnovit platnou Stream reprezentaci dokončeného oboru v úložišti dat. Pak ho Stream musíte předat jedné z přetížených metod Load provedení deserializace oboru.

Pokud vaše služba trvalosti nemůže načíst dokončený obor z úložiště dat, měla by vyvolat PersistenceException odpovídající zprávu.

Platí pro