WorkflowPersistenceService.LoadCompletedContextActivity Método

Definição

Quando implementada em uma classe derivada, carrega o escopo concluído especificado novamente na memória.

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

O Guid do escopo concluído.

outerActivity
Activity

Uma Activity que representa a atividade que inclui o escopo concluído.

Retornos

Activity

Uma Activity que representa o escopo concluído.

Exemplos

O exemplo a seguir demonstra uma implementação do LoadCompletedContextActivity método. Este exemplo é do exemplo de Serviço de Persistência Personalizada, do arquivo FilePersistenceService.cs. Para obter mais informações, consulte Exemplo de Serviço de Persistência Personalizada.

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

Comentários

O mecanismo de runtime de fluxo de trabalho usa LoadCompletedContextActivity para implementar a compensação. Você deve restaurar uma cópia idêntica do escopo concluído. Para fazer isso, você deve restaurar um válido Stream de sua representação do escopo concluído no armazenamento de dados. Em seguida, você deve passar isso Stream para um dos métodos sobrecarregados de Load executar a desserialização do escopo.

Se o serviço de persistência não puder carregar o escopo concluído do armazenamento de dados, ele deverá gerar uma PersistenceException mensagem apropriada.

Aplica-se a