WorkflowApplication.Unload Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Houdt een werkstroomexemplaren vast en verwijdert deze.
Overloads
| Name | Description |
|---|---|
| Unload(TimeSpan) |
Hiermee wordt een werkstroomexemplaren behouden en verwijderd met behulp van het opgegeven time-outinterval. |
| Unload() |
Houdt een werkstroomexemplaren vast en verwijdert deze. |
Opmerkingen
Standaard moet de uitlaadbewerking binnen 30 seconden worden voltooid of wordt er een TimeoutException gegenereerd.
Als het werkstroomexemplaren eerder vanuit persistentie zijn geladen, wordt hetzelfde InstanceStore gebruikt om de werkstroom te laden voor persistentie. Als de werkstroom is gemaakt en nog niet is behouden, moet u een InstanceStore configuratie uitvoeren voordat u deze methode aanroept, anders wordt er een InvalidOperationException gegenereerd wanneer deze methode wordt aangeroepen.
Unload(TimeSpan)
Hiermee wordt een werkstroomexemplaren behouden en verwijderd met behulp van het opgegeven time-outinterval.
public:
void Unload(TimeSpan timeout);
public void Unload(TimeSpan timeout);
member this.Unload : TimeSpan -> unit
Public Sub Unload (timeout As TimeSpan)
Parameters
- timeout
- TimeSpan
Het interval waarin de uitlaadbewerking moet worden voltooid voordat de bewerking wordt geannuleerd en er een TimeoutException wordt gegenereerd.
Voorbeelden
In dit voorbeeld is de werkstroom niet actief en wacht de hosttoepassing op gebruikersinvoer. Als de gebruiker ervoor kiest om te verwijderen, Unload wordt deze aangeroepen. Als dit lukt, wordt de werkstroom behouden en uit het geheugen verwijderd.
// 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();
}
Opmerkingen
Als het werkstroomexemplaren eerder vanuit persistentie zijn geladen, wordt hetzelfde InstanceStore gebruikt om de werkstroom te laden voor persistentie. Als de werkstroom is gemaakt en nog niet is behouden, moet u een InstanceStore configuratie uitvoeren voordat u deze methode aanroept, anders wordt er een InvalidOperationException gegenereerd wanneer deze methode wordt aangeroepen.
Van toepassing op
Unload()
Houdt een werkstroomexemplaren vast en verwijdert deze.
public:
void Unload();
public void Unload();
member this.Unload : unit -> unit
Public Sub Unload ()
Voorbeelden
In dit voorbeeld is de werkstroom niet actief en wacht de hosttoepassing op gebruikersinvoer. Als de gebruiker ervoor kiest om te verwijderen, Unload wordt deze aangeroepen. Als dit lukt, wordt de werkstroom behouden en uit het geheugen verwijderd.
// 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();
}
Opmerkingen
Standaard moet de uitlaadbewerking binnen 30 seconden worden voltooid of wordt er een TimeoutException gegenereerd.
Als het werkstroomexemplaren eerder vanuit persistentie zijn geladen, wordt hetzelfde InstanceStore gebruikt om de werkstroom te laden voor persistentie. Als de werkstroom is gemaakt en nog niet is behouden, moet u een InstanceStore configuratie uitvoeren voordat u deze methode aanroept, anders wordt er een InvalidOperationException gegenereerd wanneer deze methode wordt aangeroepen.