WorkflowPersistenceService.LoadCompletedContextActivity Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
Devoluciones
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.