WorkflowApplication.Unload Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Сохраняет и выгружает экземпляр рабочего процесса.
Перегрузки
Unload(TimeSpan) |
Сохраняет и выгружает экземпляр рабочего процесса с использованием указанного интервала времени ожидания. |
Unload() |
Сохраняет и выгружает экземпляр рабочего процесса. |
Комментарии
По умолчанию операция выгрузки должна быть завершена в течение 30 секунд, в противном случае будет вызвано исключение TimeoutException.
В экземпляре рабочего процесса, ранее загруженного из сохраняемости, для загрузки процесса используется тот же InstanceStore, что и для загрузки рабочего процесса. Если рабочий процесс создан и еще не сохранен, то InstanceStore должен быть настроен перед вызовом этого метода, в противном случае во время его вызова возникнет исключение InvalidOperationException.
Unload(TimeSpan)
Сохраняет и выгружает экземпляр рабочего процесса с использованием указанного интервала времени ожидания.
public:
void Unload(TimeSpan timeout);
public void Unload (TimeSpan timeout);
member this.Unload : TimeSpan -> unit
Public Sub Unload (timeout As TimeSpan)
Параметры
- timeout
- TimeSpan
Интервал, в течение которого операция выгрузки должна завершиться до отмены операции и создания исключения TimeoutException.
Примеры
В этом примере рабочий процесс бездействует, а ведущее приложение ожидает ввода данных пользователем. Если пользователь выберет выгрузку процесса, вызывается метод Unload. В случае успешного выполнения этого метода рабочий процесс сохраняется и выгружается из памяти.
// 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();
}
Комментарии
В экземпляре рабочего процесса, ранее загруженного из сохраняемости, для загрузки процесса используется тот же InstanceStore, что и для загрузки рабочего процесса. Если рабочий процесс создан и еще не сохранен, то InstanceStore должен быть настроен перед вызовом этого метода, в противном случае во время его вызова возникнет исключение InvalidOperationException.
Применяется к
Unload()
Сохраняет и выгружает экземпляр рабочего процесса.
public:
void Unload();
public void Unload ();
member this.Unload : unit -> unit
Public Sub Unload ()
Примеры
В этом примере рабочий процесс бездействует, а ведущее приложение ожидает ввода данных пользователем. Если пользователь выберет выгрузку процесса, вызывается метод Unload. В случае успешного выполнения этого метода рабочий процесс сохраняется и выгружается из памяти.
// 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();
}
Комментарии
По умолчанию операция выгрузки должна быть завершена в течение 30 секунд, в противном случае будет вызвано исключение TimeoutException.
В экземпляре рабочего процесса, ранее загруженного из сохраняемости, для загрузки процесса используется тот же InstanceStore, что и для загрузки рабочего процесса. Если рабочий процесс создан и еще не сохранен, то InstanceStore должен быть настроен перед вызовом этого метода, в противном случае во время его вызова возникнет исключение InvalidOperationException.