WorkflowApplication.Persist Метод

Определение

Сохраняет экземпляр рабочего процесса в хранилище экземпляров.

Перегрузки

Имя Описание
Persist()

Сохраняет экземпляр рабочего процесса в хранилище экземпляров.

Persist(TimeSpan)

Сохраняет экземпляр рабочего процесса в хранилище экземпляров с помощью указанного интервала времени ожидания.

Комментарии

Если экземпляр рабочего процесса ранее был загружен из сохраняемости, то для сохраняемости используется то же InstanceStore самое, что и для загрузки рабочего процесса. Если рабочий процесс был создан и еще не сохранен, InstanceStore необходимо настроить перед вызовом этого метода или вызвать InvalidOperationException другой метод при вызове этого метода.

Persist()

Сохраняет экземпляр рабочего процесса в хранилище экземпляров.

public:
 void Persist();
public void Persist();
member this.Persist : unit -> unit
Public Sub Persist ()

Примеры

В следующем примере вызовы Persist для сохранения экземпляра рабочего процесса перед запуском рабочего процесса.

WorkflowApplication application = new WorkflowApplication(activity);

application.InstanceStore = instanceStore;

//returning IdleAction.Unload instructs the WorkflowApplication to persists application state and remove it from memory
application.PersistableIdle = (e) =>
{
    return PersistableIdleAction.Unload;
};

application.Unloaded = (e) =>
{
    instanceUnloaded.Set();
};

//This call is not required
//Calling persist here captures the application durably before it has been started
application.Persist();
id = application.Id;
application.Run();

instanceUnloaded.WaitOne();

Комментарии

Если операция сохранения не завершается в течение 30 секунд, TimeoutException создается исключение.

Если экземпляр рабочего процесса ранее был загружен из сохраняемости, то для сохраняемости используется то же InstanceStore самое, что и для загрузки рабочего процесса. Если рабочий процесс был создан и еще не сохранен, InstanceStore необходимо настроить перед вызовом этого метода или вызвать InvalidOperationException другой метод при вызове этого метода.

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

Persist(TimeSpan)

Сохраняет экземпляр рабочего процесса в хранилище экземпляров с помощью указанного интервала времени ожидания.

public:
 void Persist(TimeSpan timeout);
public void Persist(TimeSpan timeout);
member this.Persist : TimeSpan -> unit
Public Sub Persist (timeout As TimeSpan)

Параметры

timeout
TimeSpan

Интервал, в котором операция сохранения должна завершиться до отмены операции и TimeoutException создается.

Примеры

В следующем примере вызовы Persist для сохранения экземпляра рабочего процесса перед запуском рабочего процесса.

WorkflowApplication application = new WorkflowApplication(activity);

application.InstanceStore = instanceStore;

//returning IdleAction.Unload instructs the WorkflowApplication to persists application state and remove it from memory
application.PersistableIdle = (e) =>
{
    return PersistableIdleAction.Unload;
};

application.Unloaded = (e) =>
{
    instanceUnloaded.Set();
};

//This call is not required
//Calling persist here captures the application durably before it has been started
application.Persist();
id = application.Id;
application.Run();

instanceUnloaded.WaitOne();

Комментарии

Если экземпляр рабочего процесса ранее был загружен из сохраняемости, то для сохраняемости используется то же InstanceStore самое, что и для загрузки рабочего процесса. Если рабочий процесс был создан и еще не сохранен, InstanceStore необходимо настроить перед вызовом этого метода или вызвать InvalidOperationException другой метод при вызове этого метода.

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