WorkflowApplication.Persist Metodo

Definizione

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

Overload

Nome Descrizione
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 usando l'intervallo di timeout specificato.

Commenti

Se l'istanza del flusso di lavoro è stata caricata in precedenza dalla persistenza, viene usata la stessa InstanceStore usata per caricare il flusso di lavoro per la persistenza. Se il flusso di lavoro è stato creato e non è ancora stato salvato in modo permanente, è necessario configurare un oggetto InstanceStore prima di chiamare questo metodo oppure viene generata un'eccezione InvalidOperationException quando viene chiamato questo metodo.

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 viene completata entro 30 secondi, viene generata un'eccezione TimeoutException .

Se l'istanza del flusso di lavoro è stata caricata in precedenza dalla persistenza, viene usata la stessa InstanceStore usata per caricare il flusso di lavoro per la persistenza. Se il flusso di lavoro è stato creato e non è ancora stato salvato in modo permanente, è necessario configurare un oggetto InstanceStore prima di chiamare questo metodo oppure viene generata un'eccezione InvalidOperationException quando viene chiamato questo metodo.

Si applica a

Persist(TimeSpan)

Rende persistente un'istanza del flusso di lavoro in un archivio di istanze usando 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 in cui l'operazione persistente deve essere completata prima dell'annullamento dell'operazione e viene generata un'eccezione 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 caricata in precedenza dalla persistenza, viene usata la stessa InstanceStore usata per caricare il flusso di lavoro per la persistenza. Se il flusso di lavoro è stato creato e non è ancora stato salvato in modo permanente, è necessario configurare un oggetto InstanceStore prima di chiamare questo metodo oppure viene generata un'eccezione InvalidOperationException quando viene chiamato questo metodo.

Si applica a