WorkflowPersistenceService.LoadCompletedContextActivity Método

Definición

Cuando se implementa en una clase derivada, se vuelve a cargar en la memoria el ámbito completado especificado.

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

Parámetros

scopeId
Guid

Guid del ámbito completado.

outerActivity
Activity

Activity que representa la actividad que incluye el ámbito completado.

Devoluciones

Activity

Activity que representa el ámbito completado.

Ejemplos

En el siguiente ejemplo se muestra una implementación del método LoadCompletedContextActivity. Este ejemplo pertenece a la muestra Servicio de persistencia personalizado, del archivo FilePersistenceService.cs. Para obtener más información, consulte Ejemplo de Custom Persistence Service.

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

Comentarios

El motor en tiempo de ejecución de flujo de trabajo utiliza LoadCompletedContextActivity para implementar la compensación. Debe restaurar una copia idéntica del ámbito completado. Para ello, debe restaurar un Stream válido a partir de su representación del ámbito completado en el almacén de datos. A continuación, debe pasar Stream a uno de los métodos sobrecargados de Load para realizar la deserialización del ámbito.

Si su servicio de persistencia no puede cargar el ámbito completado de su almacén de datos, debe iniciar PersistenceException con un mensaje adecuado.

Se aplica a