WorkflowApplication.Unload Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Zachová a uvolní instanci pracovního postupu.
Přetížení
Unload(TimeSpan) |
Zachová a uvolní instanci pracovního postupu pomocí zadaného intervalu časového limitu. |
Unload() |
Zachová a uvolní instanci pracovního postupu. |
Poznámky
Ve výchozím nastavení se operace uvolnění musí dokončit za 30 sekund, jinak TimeoutException se vyvolá .
Pokud byla instance pracovního postupu dříve načtena z trvalosti, pak se pro trvalost použije totéž InstanceStore , co se používá k načtení pracovního postupu. Pokud pracovní postup byl vytvořen a dosud nebyl zachován, InstanceStore musí být nakonfigurován před voláním této metody, jinak InvalidOperationException je vyvolána při volání této metody.
Unload(TimeSpan)
Zachová a uvolní instanci pracovního postupu pomocí zadaného intervalu časového limitu.
public:
void Unload(TimeSpan timeout);
public void Unload (TimeSpan timeout);
member this.Unload : TimeSpan -> unit
Public Sub Unload (timeout As TimeSpan)
Parametry
- timeout
- TimeSpan
Interval, ve kterém musí být operace uvolnění dokončena před zrušením operace a TimeoutException vyvolán.
Příklady
V tomto příkladu je pracovní postup nečinný a hostitelská aplikace čeká na vstup uživatele. Pokud se uživatel rozhodne uvolnit, Unload je volána . V případě úspěchu se pracovní postup zachová a uvolní z paměti.
// 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();
}
Poznámky
Pokud byla instance pracovního postupu dříve načtena z trvalosti, pak se pro trvalost použije totéž InstanceStore , co se používá k načtení pracovního postupu. Pokud pracovní postup byl vytvořen a dosud nebyl zachován, InstanceStore musí být nakonfigurován před voláním této metody, jinak InvalidOperationException je vyvolána při volání této metody.
Platí pro
Unload()
Zachová a uvolní instanci pracovního postupu.
public:
void Unload();
public void Unload ();
member this.Unload : unit -> unit
Public Sub Unload ()
Příklady
V tomto příkladu je pracovní postup nečinný a hostitelská aplikace čeká na vstup uživatele. Pokud se uživatel rozhodne uvolnit, Unload je volána . V případě úspěchu se pracovní postup zachová a uvolní z paměti.
// 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();
}
Poznámky
Ve výchozím nastavení se operace uvolnění musí dokončit za 30 sekund, jinak TimeoutException se vyvolá .
Pokud byla instance pracovního postupu dříve načtena z trvalosti, pak se pro trvalost použije totéž InstanceStore , co se používá k načtení pracovního postupu. Pokud pracovní postup byl vytvořen a dosud nebyl zachován, InstanceStore musí být nakonfigurován před voláním této metody, jinak InvalidOperationException je vyvolána při volání této metody.