WorkflowPersistenceService.LoadCompletedContextActivity Метод

Определение

При реализации в производном классе загружает заданную завершенную область обратно в память.

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

Параметры

scopeId
Guid

Тип Guid завершенной области.

outerActivity
Activity

Тип Activity, представляющий действие, заключающее завершенную область.

Возвращаемое значение

Activity

Тип Activity, представляющий завершенную область.

Примеры

В следующем примере показана реализация метода LoadCompletedContextActivity. Данный пример кода является частью примера «Custom Persistence Service» из файла FilePersistenceService.cs. Дополнительные сведения см. в примере пользовательской службы сохраняемости.

// 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

Комментарии

Подсистема среды выполнения рабочих процессов использует LoadCompletedContextActivity для реализации компенсации. Необходимо восстановить идентичную копию завершенной области. Для этого необходимо восстановить допустимый тип Stream из представления завершенной области в хранилище данных. Затем необходимо передать этот тип Stream одному из перегруженных методов Load для выполнения десериализации области.

Если служба постоянного хранения не может загрузить завершенную область из хранилища данных, необходимо вызывать исключение PersistenceException с помощью соответствующего сообщения.

Применяется к