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.

Применяется к