Aracılığıyla paylaş


WorkflowApplication.Persist Yöntem

Tanım

bir iş akışı örneğini örnek deposunda kalıcı hale getirmek.

Aşırı Yüklemeler

Persist()

bir iş akışı örneğini örnek deposunda kalıcı hale getirmek.

Persist(TimeSpan)

Belirtilen zaman aşımı aralığını kullanarak bir iş akışı örneğini örnek deposunda kalıcı hale getirir.

Açıklamalar

İş akışı örneği daha önce kalıcılık özelliğinden yüklendiyse, InstanceStore kalıcılık için iş akışını yüklemek için kullanılan örnek kullanılır. İş akışı oluşturulduysa ve henüz kalıcı hale gelmediyse, bu yöntemi çağırmadan önce bir InstanceStore yapılandırılması gerekir, aksi takdirde bu yöntem çağrıldığında bir InvalidOperationException oluşturulur.

Persist()

bir iş akışı örneğini örnek deposunda kalıcı hale getirmek.

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

Örnekler

Aşağıdaki örnek, iş akışı başlatılmadan önce bir iş akışı örneğini kalıcı hale getirmek için çağrı Persist yapar.

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();

Açıklamalar

Kalıcı işlem 30 saniye içinde tamamlanmazsa, bir TimeoutException oluşturulur.

İş akışı örneği daha önce kalıcılık özelliğinden yüklendiyse, InstanceStore kalıcılık için iş akışını yüklemek için kullanılan örnek kullanılır. İş akışı oluşturulduysa ve henüz kalıcı hale gelmediyse, bu yöntemi çağırmadan önce bir InstanceStore yapılandırılması gerekir, aksi takdirde bu yöntem çağrıldığında bir InvalidOperationException oluşturulur.

Şunlara uygulanır

Persist(TimeSpan)

Belirtilen zaman aşımı aralığını kullanarak bir iş akışı örneğini örnek deposunda kalıcı hale getirir.

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

Parametreler

timeout
TimeSpan

İşlem iptal edilmeden ve bir TimeoutException atmadan önce kalıcı işlemin tamamlanması gereken aralık.

Örnekler

Aşağıdaki örnek, iş akışı başlatılmadan önce bir iş akışı örneğini kalıcı hale getirmek için çağrı Persist yapar.

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();

Açıklamalar

İş akışı örneği daha önce kalıcılık özelliğinden yüklendiyse, InstanceStore kalıcılık için iş akışını yüklemek için kullanılan örnek kullanılır. İş akışı oluşturulduysa ve henüz kalıcı hale gelmediyse, bu yöntemi çağırmadan önce bir InstanceStore yapılandırılması gerekir, aksi takdirde bu yöntem çağrıldığında bir InvalidOperationException oluşturulur.

Şunlara uygulanır