WorkflowApplication.Unload Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Speichert und entlädt eine Workflowinstanz.
Überlädt
| Name | Beschreibung |
|---|---|
| Unload(TimeSpan) |
Speichert und entlädt eine Workflowinstanz mithilfe des angegebenen Timeoutintervalls. |
| Unload() |
Speichert und entlädt eine Workflowinstanz. |
Hinweise
Standardmäßig muss der Entladevorgang in 30 Sekunden abgeschlossen werden, oder ein TimeoutException Vorgang wird ausgelöst.
Wenn die Workflowinstanz zuvor aus Persistenz geladen wurde, wird derselbe InstanceStore verwendet, um den Workflow zu laden, um Persistenz zu erhalten. Wenn der Workflow erstellt wurde und noch nicht beibehalten wurde, muss ein InstanceStore Konfiguriert werden, bevor diese Methode aufgerufen wird. Andernfalls wird ein InvalidOperationException Fehler ausgelöst, wenn diese Methode aufgerufen wird.
Unload(TimeSpan)
Speichert und entlädt eine Workflowinstanz mithilfe des angegebenen Timeoutintervalls.
public:
void Unload(TimeSpan timeout);
public void Unload(TimeSpan timeout);
member this.Unload : TimeSpan -> unit
Public Sub Unload (timeout As TimeSpan)
Parameter
- timeout
- TimeSpan
Das Intervall, in dem der Entladevorgang abgeschlossen werden muss, bevor der Vorgang abgebrochen wird und ein TimeoutException Vorgang ausgelöst wird.
Beispiele
In diesem Beispiel ist der Workflow im Leerlauf, und die Hostanwendung wartet auf Benutzereingaben. Wenn der Benutzer das Entladen auswäht, Unload wird er aufgerufen. Bei erfolgreicher Ausführung wird der Workflow beibehalten und aus dem Arbeitsspeicher entladen.
// 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();
}
Hinweise
Wenn die Workflowinstanz zuvor aus Persistenz geladen wurde, wird derselbe InstanceStore verwendet, um den Workflow zu laden, um Persistenz zu erhalten. Wenn der Workflow erstellt wurde und noch nicht beibehalten wurde, muss ein InstanceStore Konfiguriert werden, bevor diese Methode aufgerufen wird. Andernfalls wird ein InvalidOperationException Fehler ausgelöst, wenn diese Methode aufgerufen wird.
Gilt für:
Unload()
Speichert und entlädt eine Workflowinstanz.
public:
void Unload();
public void Unload();
member this.Unload : unit -> unit
Public Sub Unload ()
Beispiele
In diesem Beispiel ist der Workflow im Leerlauf, und die Hostanwendung wartet auf Benutzereingaben. Wenn der Benutzer das Entladen auswäht, Unload wird er aufgerufen. Bei erfolgreicher Ausführung wird der Workflow beibehalten und aus dem Arbeitsspeicher entladen.
// 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();
}
Hinweise
Standardmäßig muss der Entladevorgang in 30 Sekunden abgeschlossen werden, oder ein TimeoutException Vorgang wird ausgelöst.
Wenn die Workflowinstanz zuvor aus Persistenz geladen wurde, wird derselbe InstanceStore verwendet, um den Workflow zu laden, um Persistenz zu erhalten. Wenn der Workflow erstellt wurde und noch nicht beibehalten wurde, muss ein InstanceStore Konfiguriert werden, bevor diese Methode aufgerufen wird. Andernfalls wird ein InvalidOperationException Fehler ausgelöst, wenn diese Methode aufgerufen wird.