WorkflowInstance.TryUnload Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Выгружает экземпляр рабочего процесса из памяти в хранилище сохраняемости, если он приостановлен или бездействует.
public:
bool TryUnload();
public bool TryUnload ();
member this.TryUnload : unit -> bool
Public Function TryUnload () As Boolean
Возвращаемое значение
Значение true
, если экземпляр рабочего процесса выгружен; в противном случае — значение false
.
Исключения
Отсутствует служба сохраняемости, зарегистрированная механизмом среды выполнения рабочих процессов.
Примеры
В следующем примере показано использование метода «TryUnload» для выгрузки рабочего процесса при возникновении события WorkflowIdled. Данный пример является частью образца пакета SDK «Using Persistence Services» из файла Program.cs. Дополнительные сведения см. в разделе Использование примера служб сохраняемости.
//Called when the workflow is idle - in this sample this occurs when the workflow is waiting on the
// delay1 activity to expire
static void OnWorkflowIdled(object sender, WorkflowEventArgs e)
{
Console.WriteLine("Workflow is idle.");
e.WorkflowInstance.TryUnload();
}
'Called when the workflow is idle - in me sample me occurs when the workflow is waiting on the
' delay1 activity to expire
Shared Sub OnWorkflowIdled(ByVal sender As Object, ByVal e As WorkflowEventArgs)
Console.WriteLine("Workflow is idle.")
e.WorkflowInstance.TryUnload()
End Sub
Комментарии
Если экземпляр рабочего процесса приостановлен или бездействует, то метод TryUnload использует службу сохраняемости для его удаления из памяти и сохранения в хранилище данных. Если служба сохраняемости, зарегистрированная объектом WorkflowRuntime, отсутствует, то метод TryUnload вызывает исключение InvalidOperationException. Если экземпляр рабочего процесса успешно сохранен, среда выполнения вызывает WorkflowUnloaded событие и возвращает .true
Unload возвращает значение false
, если экземпляр рабочего процесса уже выгружен, завершен, прерван или уже завершен.
Узел может использовать метод TryUnload для освобождения системных ресурсов бездействующего рабочего процесса.