WorkflowApplication.Unload Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Utrwala i zwalnia wystąpienie przepływu pracy.
Przeciążenia
Unload(TimeSpan) |
Utrwala i zwalnia wystąpienie przepływu pracy przy użyciu określonego interwału limitu czasu. |
Unload() |
Utrwala i zwalnia wystąpienie przepływu pracy. |
Uwagi
Domyślnie operacja zwalniania musi zostać ukończona w ciągu 30 sekund lub TimeoutException jest zgłaszana.
Jeśli wystąpienie przepływu pracy zostało wcześniej załadowane z trwałości, to to samo InstanceStore użyte do załadowania przepływu pracy jest używane do trwałości. Jeśli przepływ pracy został utworzony i nie został jeszcze utrwalone, InstanceStore należy go skonfigurować przed wywołaniem tej metody lub w przeciwnym razie InvalidOperationException jest zgłaszany podczas wywoływania tej metody.
Unload(TimeSpan)
Utrwala i zwalnia wystąpienie przepływu pracy przy użyciu określonego interwału limitu czasu.
public:
void Unload(TimeSpan timeout);
public void Unload (TimeSpan timeout);
member this.Unload : TimeSpan -> unit
Public Sub Unload (timeout As TimeSpan)
Parametry
- timeout
- TimeSpan
Interwał, w którym operacja zwalniania musi zostać ukończona przed anulowaniem TimeoutException operacji i zostanie zgłoszony.
Przykłady
W tym przykładzie przepływ pracy jest bezczynny, a aplikacja hosta oczekuje na dane wejściowe użytkownika. Jeśli użytkownik zdecyduje się zwolnić, Unload jest wywoływany. W przypadku powodzenia przepływ pracy jest utrwalany i zwalniany z pamięci.
// 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();
}
Uwagi
Jeśli wystąpienie przepływu pracy zostało wcześniej załadowane z trwałości, to to samo InstanceStore użyte do załadowania przepływu pracy jest używane do trwałości. Jeśli przepływ pracy został utworzony i nie został jeszcze utrwalone, InstanceStore należy go skonfigurować przed wywołaniem tej metody lub w przeciwnym razie InvalidOperationException jest zgłaszany podczas wywoływania tej metody.
Dotyczy
Unload()
Utrwala i zwalnia wystąpienie przepływu pracy.
public:
void Unload();
public void Unload ();
member this.Unload : unit -> unit
Public Sub Unload ()
Przykłady
W tym przykładzie przepływ pracy jest bezczynny, a aplikacja hosta oczekuje na dane wejściowe użytkownika. Jeśli użytkownik zdecyduje się zwolnić, Unload jest wywoływany. W przypadku powodzenia przepływ pracy jest utrwalany i zwalniany z pamięci.
// 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();
}
Uwagi
Domyślnie operacja zwalniania musi zostać ukończona w ciągu 30 sekund lub TimeoutException jest zgłaszana.
Jeśli wystąpienie przepływu pracy zostało wcześniej załadowane z trwałości, to to samo InstanceStore użyte do załadowania przepływu pracy jest używane do trwałości. Jeśli przepływ pracy został utworzony i nie został jeszcze utrwalone, InstanceStore należy go skonfigurować przed wywołaniem tej metody lub w przeciwnym razie InvalidOperationException jest zgłaszany podczas wywoływania tej metody.