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 другой метод при вызове этого метода.