WorkflowApplication.Persist Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.