WorkflowApplication.Persist Método

Definição

Persiste uma instância de workflow para um armazenamento de instâncias.

Sobrecargas

Name Description
Persist()

Persiste uma instância de workflow para um armazenamento de instâncias.

Persist(TimeSpan)

Persiste uma instância de workflow para um armazenamento de instâncias usando o intervalo de tempo especificado.

Observações

Se a instância do fluxo de trabalho foi previamente carregada a partir da persistência, então o InstanceStore mesmo usado para carregar o fluxo de trabalho é usado para persistência. Se o fluxo de trabalho foi criado e ainda não foi mantido, então um InstanceStore deve ser configurado antes de chamar este método, caso contrário um InvalidOperationException é lançado quando este método é chamado.

Persist()

Persiste uma instância de workflow para um armazenamento de instâncias.

public:
 void Persist();
public void Persist();
member this.Persist : unit -> unit
Public Sub Persist ()

Exemplos

O exemplo seguinte pede Persist para persistir uma instância de fluxo de trabalho antes de este ser iniciado.

WorkflowApplication application = new WorkflowApplication(activity);

application.InstanceStore = instanceStore;

//returning IdleAction.Unload instructs the WorkflowApplication to persists application state and remove it from memory
application.PersistableIdle = (e) =>
{
    return PersistableIdleAction.Unload;
};

application.Unloaded = (e) =>
{
    instanceUnloaded.Set();
};

//This call is not required
//Calling persist here captures the application durably before it has been started
application.Persist();
id = application.Id;
application.Run();

instanceUnloaded.WaitOne();

Observações

Se a operação de persistência não for concluída dentro de 30 segundos, é lançado a.TimeoutException

Se a instância do fluxo de trabalho foi previamente carregada a partir da persistência, então o InstanceStore mesmo usado para carregar o fluxo de trabalho é usado para persistência. Se o fluxo de trabalho foi criado e ainda não foi mantido, então um InstanceStore deve ser configurado antes de chamar este método, caso contrário um InvalidOperationException é lançado quando este método é chamado.

Aplica-se a

Persist(TimeSpan)

Persiste uma instância de workflow para um armazenamento de instâncias usando o intervalo de tempo especificado.

public:
 void Persist(TimeSpan timeout);
public void Persist(TimeSpan timeout);
member this.Persist : TimeSpan -> unit
Public Sub Persist (timeout As TimeSpan)

Parâmetros

timeout
TimeSpan

O intervalo em que a operação persiste deve ser concluída antes de a operação ser cancelada e a TimeoutException ser lançado.

Exemplos

O exemplo seguinte pede Persist para persistir uma instância de fluxo de trabalho antes de este ser iniciado.

WorkflowApplication application = new WorkflowApplication(activity);

application.InstanceStore = instanceStore;

//returning IdleAction.Unload instructs the WorkflowApplication to persists application state and remove it from memory
application.PersistableIdle = (e) =>
{
    return PersistableIdleAction.Unload;
};

application.Unloaded = (e) =>
{
    instanceUnloaded.Set();
};

//This call is not required
//Calling persist here captures the application durably before it has been started
application.Persist();
id = application.Id;
application.Run();

instanceUnloaded.WaitOne();

Observações

Se a instância do fluxo de trabalho foi previamente carregada a partir da persistência, então o InstanceStore mesmo usado para carregar o fluxo de trabalho é usado para persistência. Se o fluxo de trabalho foi criado e ainda não foi mantido, então um InstanceStore deve ser configurado antes de chamar este método, caso contrário um InvalidOperationException é lançado quando este método é chamado.

Aplica-se a