WorkflowApplication.Unload Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Bevarar och tar bort en arbetsflödesinstans.
Överlagringar
| Name | Description |
|---|---|
| Unload(TimeSpan) |
Bevarar och tar bort en arbetsflödesinstans med det angivna tidsgränsintervallet. |
| Unload() |
Bevarar och tar bort en arbetsflödesinstans. |
Kommentarer
Som standard måste avlastningsåtgärden slutföras om 30 sekunder eller så utlöses en TimeoutException .
Om arbetsflödesinstansen tidigare lästes in från beständighet används samma InstanceStore som används för att läsa in arbetsflödet för beständighet. Om arbetsflödet har skapats och ännu inte har sparats måste ett InstanceStore konfigureras innan du anropar den här metoden, annars utlöses en InvalidOperationException när den här metoden anropas.
Unload(TimeSpan)
Bevarar och tar bort en arbetsflödesinstans med det angivna tidsgränsintervallet.
public:
void Unload(TimeSpan timeout);
public void Unload(TimeSpan timeout);
member this.Unload : TimeSpan -> unit
Public Sub Unload (timeout As TimeSpan)
Parametrar
- timeout
- TimeSpan
Intervallet då avlastningsåtgärden måste slutföras innan åtgärden avbryts och en TimeoutException utlöses.
Exempel
I det här exemplet är arbetsflödet inaktivt och värdprogrammet väntar på användarindata. Om användaren väljer att ta bort Unload anropas. Om det lyckas sparas arbetsflödet och tas bort från minnet.
// 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();
}
Kommentarer
Om arbetsflödesinstansen tidigare lästes in från beständighet används samma InstanceStore som används för att läsa in arbetsflödet för beständighet. Om arbetsflödet har skapats och ännu inte har sparats måste ett InstanceStore konfigureras innan du anropar den här metoden, annars utlöses en InvalidOperationException när den här metoden anropas.
Gäller för
Unload()
Bevarar och tar bort en arbetsflödesinstans.
public:
void Unload();
public void Unload();
member this.Unload : unit -> unit
Public Sub Unload ()
Exempel
I det här exemplet är arbetsflödet inaktivt och värdprogrammet väntar på användarindata. Om användaren väljer att ta bort Unload anropas. Om det lyckas sparas arbetsflödet och tas bort från minnet.
// 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();
}
Kommentarer
Som standard måste avlastningsåtgärden slutföras om 30 sekunder eller så utlöses en TimeoutException .
Om arbetsflödesinstansen tidigare lästes in från beständighet används samma InstanceStore som används för att läsa in arbetsflödet för beständighet. Om arbetsflödet har skapats och ännu inte har sparats måste ett InstanceStore konfigureras innan du anropar den här metoden, annars utlöses en InvalidOperationException när den här metoden anropas.