Condividi tramite


WorkflowApplication.Persist Metodo

Definizione

Rende persistente un'istanza del flusso di lavoro in un archivio di istanze.

Overload

Persist()

Rende persistente un'istanza del flusso di lavoro in un archivio di istanze.

Persist(TimeSpan)

Rende persistente un'istanza del flusso di lavoro in un archivio di istanze utilizzando l'intervallo di timeout specificato.

Commenti

Se l'istanza del flusso di lavoro è stata precedentemente caricata dalla persistenza, lo stesso InstanceStore utilizzato per il caricamento del flusso di lavoro viene utilizzato per la persistenza. Se il flusso di lavoro è stato creato ma non reso persistente, è necessario configurare una proprietà InstanceStore prima di chiamare questo metodo, altrimenti viene generata un'eccezione InvalidOperationException.

Persist()

Rende persistente un'istanza del flusso di lavoro in un archivio di istanze.

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

Esempio

Nell'esempio seguente viene chiamato Persist per rendere persistente un'istanza del flusso di lavoro prima dell'avvio del flusso di lavoro.

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

Commenti

Se l'operazione di persistenza non è completata entro 30 secondi, un TimeoutException viene generato.

Se l'istanza del flusso di lavoro è stata precedentemente caricata dalla persistenza, lo stesso InstanceStore utilizzato per il caricamento del flusso di lavoro viene utilizzato per la persistenza. Se il flusso di lavoro è stato creato ma non reso persistente, è necessario configurare una proprietà InstanceStore prima di chiamare questo metodo, altrimenti viene generata un'eccezione InvalidOperationException.

Si applica a

Persist(TimeSpan)

Rende persistente un'istanza del flusso di lavoro in un archivio di istanze utilizzando l'intervallo di timeout specificato.

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

Parametri

timeout
TimeSpan

Intervallo nel quale deve essere completata l'operazione di persistenza prima che sia annullata e venga generato un TimeoutException.

Esempio

Nell'esempio seguente viene chiamato Persist per rendere persistente un'istanza del flusso di lavoro prima dell'avvio del flusso di lavoro.

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

Commenti

Se l'istanza del flusso di lavoro è stata precedentemente caricata dalla persistenza, lo stesso InstanceStore utilizzato per il caricamento del flusso di lavoro viene utilizzato per la persistenza. Se il flusso di lavoro è stato creato ma non reso persistente, è necessario configurare una proprietà InstanceStore prima di chiamare questo metodo, altrimenti viene generata un'eccezione InvalidOperationException.

Si applica a