WorkflowApplication.Persist Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.