Compartir vía


WorkflowApplication.Persist Método

Definición

Conserva una instancia de flujo de trabajo en un almacén de instancias.

Sobrecargas

Persist()

Conserva una instancia de flujo de trabajo en un almacén de instancias.

Persist(TimeSpan)

Conserva una instancia de flujo de trabajo en un almacén de instancias utilizando el intervalo de tiempo de espera especificado.

Comentarios

Si la instancia de flujo de trabajo se cargó anteriormente de la persistencia, se usa el mismo objeto InstanceStore para cargar el flujo de trabajo que se usa para persistencia. Si se creó el flujo de trabajo y todavía no es persistente, se debe configurar un objeto InstanceStore antes de llamara a este método; de lo contrario, se genera InvalidOperationException cuando se llama a este método.

Persist()

Conserva una instancia de flujo de trabajo en un almacén de instancias.

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

Ejemplos

En el siguiente ejemplo se llama al método Persist para conservar una instancia de flujo de trabajo antes de que se inicie el flujo de trabajo.

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();

Comentarios

Si la operación de conservación no se completa en 30 segundos, se produce una excepción TimeoutException.

Si la instancia de flujo de trabajo se cargó anteriormente de la persistencia, se usa el mismo objeto InstanceStore para cargar el flujo de trabajo que se usa para persistencia. Si se creó el flujo de trabajo y todavía no es persistente, se debe configurar un objeto InstanceStore antes de llamara a este método; de lo contrario, se genera InvalidOperationException cuando se llama a este método.

Se aplica a

Persist(TimeSpan)

Conserva una instancia de flujo de trabajo en un almacén de instancias utilizando el intervalo de tiempo de espera 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

El intervalo en el que debe completarse la operación de conservación antes de que se cancele la operación y se produzca una excepción TimeoutException.

Ejemplos

En el siguiente ejemplo se llama al método Persist para conservar una instancia de flujo de trabajo antes de que se inicie el flujo de trabajo.

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();

Comentarios

Si la instancia de flujo de trabajo se cargó anteriormente de la persistencia, se usa el mismo objeto InstanceStore para cargar el flujo de trabajo que se usa para persistencia. Si se creó el flujo de trabajo y todavía no es persistente, se debe configurar un objeto InstanceStore antes de llamara a este método; de lo contrario, se genera InvalidOperationException cuando se llama a este método.

Se aplica a