WorkflowInstance Sınıf
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.
WorkflowInstance bir iş akışı programı yürütmek için basit, örnek başına çalışma zamanıdır. Yeni bir iş akışı örneği oluşturmak için veya mevcut örnek durumundan oluşturulabilir. Kullanıma sunan WorkflowInstance.WorkflowInstanceControl API'ler, daha üst düzey işlemlerin uygulanabileceği en düşük çalışma zamanı denetimleri kümesidir. Bu API kümesi, çalışma zamanının tüm işlevselliğini temsil eder. WorkflowInstance soyut bir sınıftır ve eşitleme, kalıcılık, izleme ve uzantılar gibi konak işlevselliği sağlamak için konağın soyut yöntemlerini uygulamasına dayanır.
public ref class WorkflowInstance abstract
public abstract class WorkflowInstance
type WorkflowInstance = class
Public MustInherit Class WorkflowInstance
- Devralma
-
WorkflowInstance
- Türetilmiş
Açıklamalar
WorkflowInstance tek iş parçacıklı ve konağın ona tüm erişimi eşitlediğini varsayar. Birden çok API'yi aynı anda çağırma girişimi, bir InvalidOperationException atılmasıyla sonuçlanır.
dahili olarak, iki WorkflowInstance durum vardır: Çalışıyor ve Duraklatıldı. Çalışma zamanının duraklatılmış durumdan çalıştırmaya geçmesine neden olan tek yol çağrısı Runyapmaktır. Tüm eylemler (Duraklatma hariç) yalnızca çalışma zamanı Duraklatılmış durumdayken gerçekleştirilebilir. Çalışma zamanı aşağıdaki durumlarda kendiliğinden Duraklatılır:
Çalışma zamanında önemli bir hata oluştu. Konağa üzerinden OnRequestAbort sinyal gönderilir (Duraklatıldı'ya geçiş sinyali vermez) ve ardından aracılığıyla OnNotifyPausedbildirilir.
İş akışındaki bir özel durum yakalanmadı ve kökten kaçtı. Konağa yöntemi aracılığıyla OnNotifyUnhandledException bildirim gönderilir.
Zamanlayıcının iş öğeleri tükendi ve artık Idle. Konağa yöntemi aracılığıyla OnNotifyPaused bildirim gönderilir. Örnek boşta olduğundan veya örnek tamamlandığından zamanlayıcının iş öğelerinin tükenmiş olabileceğini unutmayın. State özelliğinin Controller değeri, ikisi arasında ayrım yapmak için kullanılabilir.
Konak, özelliği tarafından Controller döndürülen örneğin veya PauseWhenPersistable yöntemlerini WorkflowInstance.WorkflowInstanceControl çağırarak RequestPause Çalışıyor yerine Duraklatıldı olarak değişiklik isteyebilir. Bu isteğin belirli bir yanıta sahip olduğu düşünülmemelidir; bu, konağın bir OnNotify* ile veya OnRequestAbort duraklatmak için belirli bir çağrıyla bağıntı kurmaması gerektiği anlamına gelir. Bir duraklatma isteğine yanıt olarak, zamanlayıcı hala bekleyen iş öğelerine sahipken çalışma zamanı Duraklatıldı'ya geçebilir ve çağırabilir OnNotifyPaused . State özelliğinin Controller değeri, zamanlayıcının daha fazla çalışması olmadığını veya duraklatma isteği tarafından kesintiye uğradığını belirlemek için kullanılabilir.
RequestPause özelliği tarafından Controller döndürülen örneğin yöntemiWorkflowInstance.WorkflowInstanceControl, çalışıyor durumundayken WorkflowInstance çağrılabilen tek yöntemdir. Diğer tüm yöntemler çağrılırsa oluşturur InvalidOperationException . Bir durumdan diğerine geçişlerin WorkflowInstance kuralları göz önünde bulundurulduğunda, Genel Olarak Çalıştırılıyor ve Duraklatıldı kavramı aşağıdaki gibi tanımlanabilir:
Çalışıyor - çağrısı Run ile sonraki WorkflowInstance.OnNotify* arasındaki durum.
Duraklatıldı - Son WorkflowInstance.OnNotify* ile sonraki çağrısı Runarasındaki durum.
Oluşturucular
| Name | Description |
|---|---|
| WorkflowInstance(Activity, WorkflowIdentity) |
Belirtilen iş akışı tanımı ve tanım kimliğiyle sınıfının yeni bir örneğini WorkflowInstance başlatır. |
| WorkflowInstance(Activity) |
Belirtilen iş akışı tanımıyla sınıfının yeni bir örneğini WorkflowInstance başlatır. |
Özellikler
| Name | Description |
|---|---|
| Controller |
Bu WorkflowInstanceöğesinin örneğini WorkflowInstance.WorkflowInstanceControl alır. |
| DefinitionIdentity |
öğesinin tanım kimliğini WorkflowInstancealır veya ayarlar. |
| HostEnvironment |
İş akışı örneğinin bağımsız değişkenleri ve değişkenleri için kök ortamı alır veya ayarlar. |
| Id |
İş akışı örneğinin benzersiz tanımlayıcısını alır. |
| IsReadOnly |
İş akışı örneğinin başlatılıp başlatılmadığını gösteren bir değer alır. |
| SupportsInstanceKeys |
Konağın bir çalışma zamanı örneğiyle ilişkisini InstanceKeys destekleyip desteklemediğini gösteren bir değer alır. |
| SynchronizationContext |
İş akışı örneğini SynchronizationContext zamanlamak için kullanılan öğesini alır veya ayarlar. |
| WorkflowDefinition |
İş akışı örneğinin iş akışı tanımını alır. |
Yöntemler
| Name | Description |
|---|---|
| BeginFlushTrackingRecords(TimeSpan, AsyncCallback, Object) |
Bekleyen izleme kayıtlarını zaman uyumsuz olarak izleme katılımcılarına göndermeye başlamak için iş akışı çalışma zamanı tarafından çağrılır. |
| DisposeExtensions() |
uygulayan IDisposabletüm uzantılarda çağrılarDispose(). |
| EndFlushTrackingRecords(IAsyncResult) |
İzleme işlemini sonlandırmak için iş akışı çalışma zamanı tarafından çağrılır. |
| Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
| FlushTrackingRecords(TimeSpan) |
bekleyen izleme kayıtlarını izleme katılımcılarına göndermek için iş akışı çalışma zamanı tarafından çağrılır. |
| GetActivitiesBlockingUpdate(Object, DynamicUpdateMap) |
İş akışının güncelleştirilmesine engel olan etkinliğin listesini alır. |
| GetExtension<T>() |
Belirtilen türde bir uzantı döndürür. |
| GetExtensions<T>() |
Belirtilen tür için bulunan tüm uzantıları döndürür. |
| GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
| GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| Initialize(IDictionary<String,Object>, IList<Handle>) |
İş akışı örneğini bağımsız değişken değerleri ve yürütme özellikleriyle başlatmak için konak tarafından çağrılır. |
| Initialize(Object, DynamicUpdateMap) |
İş akışı örneğini iş akışı çalışma zamanı durumu ve güncelleştirme eşlemesi ile başlatmak için konak tarafından çağrılır. |
| Initialize(Object) |
İş akışı örneğini iş akışı çalışma zamanı durumuyla başlatmak için konak tarafından çağrılır. |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| OnBeginAssociateKeys(ICollection<InstanceKey>, AsyncCallback, Object) |
Konağa yeni örnek anahtarlarının bu örnekle ilişkilendirilmesi gerektiğini bildirmek için iş akışı çalışma zamanı tarafından çağrılır. |
| OnBeginFlushTrackingRecords(AsyncCallback, Object) |
Konaktan bekleyen izleme kayıtlarını izleme katılımcılarına boşaltmasını istemek için zaman uyumsuz çağrı. |
| OnBeginPersist(AsyncCallback, Object) |
Konaktan iş akışını kalıcı hale getirmek için zaman uyumsuz çağrı. |
| OnBeginResumeBookmark(Bookmark, Object, TimeSpan, AsyncCallback, Object) |
Konağa bir özgeçmiş yer işareti işleminin başladığını bildirmek için iş akışı çalışma zamanı tarafından çağrılır. |
| OnDisassociateKeys(ICollection<InstanceKey>) |
Konağa belirli bir örnek anahtarı kümesinin artık bu örnekle ilişkilendirilmemesi gerektiğini bildirmek için iş akışı çalışma zamanı tarafından çağrılır. |
| OnEndAssociateKeys(IAsyncResult) |
Ana bilgisayara bir ilişkilendirme anahtarları işleminin tamamlandığını bildirmek için iş akışı çalışma zamanı tarafından çağrılır. |
| OnEndFlushTrackingRecords(IAsyncResult) |
Temizleme izleme kayıtları işlemi tamamlandığında konağı bilgilendirmek için iş akışı çalışma zamanı tarafından çağrılır. |
| OnEndPersist(IAsyncResult) |
Bir kalıcı işlemin tamamlandığını konağa bildirmek için iş akışı çalışma zamanı tarafından çağrılır. |
| OnEndResumeBookmark(IAsyncResult) |
Konağa bir özgeçmiş yer işareti işleminin tamamlandığını bildirmek için iş akışı çalışma zamanı tarafından çağrılır. |
| OnNotifyPaused() |
İş akışı örneğinin çalışma durumundan duraklatılmış duruma geçtiğini konağa bildirmek için iş akışı çalışma zamanı tarafından çağrılır. |
| OnNotifyUnhandledException(Exception, Activity, String) |
konağa iş akışı örneğinde işlenmeyen bir özel durumun oluştuğu bildirilmesi için iş akışı çalışma zamanı tarafından çağrılır. |
| OnRequestAbort(Exception) |
konağa iş akışı örneği için bir durdurma işlemi istendiğini bildirmek için iş akışı çalışma zamanı tarafından çağrılır. |
| RegisterExtensionManager(WorkflowInstanceExtensionManager) |
Belirtilen uzantı yöneticisini kaydetmek, tüm gerekli uzantıların mevcut olduğunu doğrulamak ve kullanılacak uzantı koleksiyonunu başlatmak için konak tarafından çağrılır. |
| ThrowIfReadOnly() |
tarafından IsReadOnlybelirlenen iş akışı örneği başlatıldıysa bir InvalidOperationException oluşturur. |
| ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |