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
| 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.