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 eine Workflowinstanz im Persistenzspeicher und entlädt sie.
Überlädt
Unload(TimeSpan) |
Speichert eine Workflowinstanz im Persistenzspeicher und entlädt sie, wobei das angegebene Timeoutintervall verwendet wird. |
Unload() |
Speichert eine Workflowinstanz im Persistenzspeicher und entlädt sie. |
Hinweise
Standardmäßig muss der Entladevorgang innerhalb von 30 Sekunden abgeschlossen sein. Andernfalls wird eine TimeoutException ausgelöst.
Wenn die Workflowinstanz zuvor aus dem permanenten Speicher geladen wurde, wird für den permanenten Speicher der InstanceStore verwendet, mit dem der Workflow geladen wurde. Wenn der Workflow erstellt und noch nicht permanent gespeichert wurde, muss vor dem Aufrufen dieser Methode ein InstanceStore konfiguriert werden. Andernfalls wird beim Aufrufen dieser Methode eine InvalidOperationException ausgelöst.
Unload(TimeSpan)
Speichert eine Workflowinstanz im Persistenzspeicher und entlädt sie, wobei das angegebene Timeoutintervall verwendet wird.
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 und eine TimeoutException ausgelöst wird.
Beispiele
In diesem Beispiel befindet sich der Workflow im Leerlauf, und die Hostanwendung wartet auf eine Benutzereingabe. Wenn der Benutzer das Entladen auswählt, wird Unload aufgerufen. Bei Erfolg 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 dem permanenten Speicher geladen wurde, wird für den permanenten Speicher der InstanceStore verwendet, mit dem der Workflow geladen wurde. Wenn der Workflow erstellt und noch nicht permanent gespeichert wurde, muss vor dem Aufrufen dieser Methode ein InstanceStore konfiguriert werden. Andernfalls wird beim Aufrufen dieser Methode eine InvalidOperationException ausgelöst.
Gilt für:
Unload()
Speichert eine Workflowinstanz im Persistenzspeicher und entlädt sie.
public:
void Unload();
public void Unload ();
member this.Unload : unit -> unit
Public Sub Unload ()
Beispiele
In diesem Beispiel befindet sich der Workflow im Leerlauf, und die Hostanwendung wartet auf eine Benutzereingabe. Wenn der Benutzer das Entladen auswählt, wird Unload aufgerufen. Bei Erfolg 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 innerhalb von 30 Sekunden abgeschlossen sein. Andernfalls wird eine TimeoutException ausgelöst.
Wenn die Workflowinstanz zuvor aus dem permanenten Speicher geladen wurde, wird für den permanenten Speicher der InstanceStore verwendet, mit dem der Workflow geladen wurde. Wenn der Workflow erstellt und noch nicht permanent gespeichert wurde, muss vor dem Aufrufen dieser Methode ein InstanceStore konfiguriert werden. Andernfalls wird beim Aufrufen dieser Methode eine InvalidOperationException ausgelöst.