Compartilhar via


WorkflowApplication.Persist Método

Definição

Persiste uma instância de fluxo de trabalho em um repositório de instâncias.

Sobrecargas

Persist()

Persiste uma instância de fluxo de trabalho em um repositório de instâncias.

Persist(TimeSpan)

Persiste uma instância de fluxo de trabalho em um repositório de instâncias usando o intervalo de tempo limite especificado.

Comentários

Se a instância de fluxo de trabalho tiver sido carregada anteriormente da persistência, o mesmo InstanceStore usado para carregar o fluxo de trabalho será usado para persistência. Se o fluxo de trabalho foi criado e ainda não foi persistente, um InstanceStore deve ser configurado antes de chamar esse método ou então um InvalidOperationException é gerado quando esse método é chamado.

Persist()

Persiste uma instância de fluxo de trabalho em um repositório de instâncias.

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

Exemplos

O exemplo a seguir chama Persist para persistir uma instância de fluxo de trabalho antes que o fluxo de trabalho seja 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();

Comentários

Se a operação de persistência não for concluída dentro de 30 segundos, um TimeoutException será gerado.

Se a instância de fluxo de trabalho tiver sido carregada anteriormente da persistência, o mesmo InstanceStore usado para carregar o fluxo de trabalho será usado para persistência. Se o fluxo de trabalho foi criado e ainda não foi persistente, um InstanceStore deve ser configurado antes de chamar esse método ou então um InvalidOperationException é gerado quando esse método é chamado.

Aplica-se a

Persist(TimeSpan)

Persiste uma instância de fluxo de trabalho em um repositório de instâncias usando o intervalo de tempo limite 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 no qual a operação de persistência deve ser concluída antes que ela seja cancelada e que uma TimeoutException seja gerada.

Exemplos

O exemplo a seguir chama Persist para persistir uma instância de fluxo de trabalho antes que o fluxo de trabalho seja 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();

Comentários

Se a instância de fluxo de trabalho tiver sido carregada anteriormente da persistência, o mesmo InstanceStore usado para carregar o fluxo de trabalho será usado para persistência. Se o fluxo de trabalho foi criado e ainda não foi persistente, um InstanceStore deve ser configurado antes de chamar esse método ou então um InvalidOperationException é gerado quando esse método é chamado.

Aplica-se a