WorkflowApplication.Unload 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 e scarica un'istanza del flusso di lavoro.
Overload
| Nome | Descrizione |
|---|---|
| Unload(TimeSpan) |
Rende persistente e scarica un'istanza del flusso di lavoro usando l'intervallo di timeout specificato. |
| Unload() |
Rende persistente e scarica un'istanza del flusso di lavoro. |
Commenti
Per impostazione predefinita, l'operazione di scaricamento deve essere completata in 30 secondi o 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.
Unload(TimeSpan)
Rende persistente e scarica un'istanza del flusso di lavoro usando l'intervallo di timeout specificato.
public:
void Unload(TimeSpan timeout);
public void Unload(TimeSpan timeout);
member this.Unload : TimeSpan -> unit
Public Sub Unload (timeout As TimeSpan)
Parametri
- timeout
- TimeSpan
Intervallo in cui l'operazione di scaricamento deve essere completata prima dell'annullamento dell'operazione e viene generata un'eccezione TimeoutException .
Esempio
In questo esempio il flusso di lavoro è inattiva e l'applicazione host è in attesa dell'input dell'utente. Se l'utente sceglie di scaricare, Unload viene chiamato . In caso di esito positivo, il flusso di lavoro viene salvato in modo permanente e scaricato dalla memoria.
// single interaction with the user. The user enters a string in the console and that
// string is used to resume the ReadLine activity bookmark
static void Interact(WorkflowApplication application, AutoResetEvent resetEvent)
{
Console.WriteLine("Workflow is ready for input");
Console.WriteLine("Special commands: 'unload', 'exit'");
bool done = false;
while (!done)
{
Console.Write("> ");
string s = Console.ReadLine();
if (s.Equals("unload"))
{
try
{
// attempt to unload will fail if the workflow is idle within a NoPersistZone
application.Unload(TimeSpan.FromSeconds(5));
done = true;
}
catch (TimeoutException e)
{
Console.WriteLine(e.Message);
}
}
else if (s.Equals("exit"))
{
application.ResumeBookmark("inputBookmark", s);
done = true;
}
else
{
application.ResumeBookmark("inputBookmark", s);
}
}
resetEvent.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
Unload()
Rende persistente e scarica un'istanza del flusso di lavoro.
public:
void Unload();
public void Unload();
member this.Unload : unit -> unit
Public Sub Unload ()
Esempio
In questo esempio il flusso di lavoro è inattiva e l'applicazione host è in attesa dell'input dell'utente. Se l'utente sceglie di scaricare, Unload viene chiamato . In caso di esito positivo, il flusso di lavoro viene salvato in modo permanente e scaricato dalla memoria.
// single interaction with the user. The user enters a string in the console and that
// string is used to resume the ReadLine activity bookmark
static void Interact(WorkflowApplication application, AutoResetEvent resetEvent)
{
Console.WriteLine("Workflow is ready for input");
Console.WriteLine("Special commands: 'unload', 'exit'");
bool done = false;
while (!done)
{
Console.Write("> ");
string s = Console.ReadLine();
if (s.Equals("unload"))
{
try
{
// attempt to unload will fail if the workflow is idle within a NoPersistZone
application.Unload(TimeSpan.FromSeconds(5));
done = true;
}
catch (TimeoutException e)
{
Console.WriteLine(e.Message);
}
}
else if (s.Equals("exit"))
{
application.ResumeBookmark("inputBookmark", s);
done = true;
}
else
{
application.ResumeBookmark("inputBookmark", s);
}
}
resetEvent.WaitOne();
}
Commenti
Per impostazione predefinita, l'operazione di scaricamento deve essere completata in 30 secondi o 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.