WorkflowApplication.Persist Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.