Akış Devam Ettirici
Akışta bekleyen (askıda kalan) bir hedef nesneyi, üzerinde bir olay (event) tetikleyerek yeniden çalıştıran bir nesnedir. Hedef nesneyi adıyla bulur, belirttiğiniz olay kimliğini (event id) ve süreç kimliğini (process id) kullanarak o nesnenin beklemesini sonlandırır ve akışın o noktadan devam etmesini sağlar.
Ne zaman kullanılır?
Akışın başka bir yerinde onay ya da olay bekleyen bir nesneyi, kod tarafından ileri taşımak istediğinizde kullanın. Tipik örnek, bir koşul gerçekleştiğinde beklemedeki bir adımı programatik olarak sürdürmektir. Bekleyen bir onayı sürdürmek yerine iptal etmek istiyorsanız Akış Durdurucu / Onay İptal Edici nesnesine bakın.
Bu nesnenin sınıfı (FlowContinue) ve üyeleri kaynaklarda doğrulanmıştır; ancak çalışma zamanındaki kullanım kalıbı henüz örnekle teyit edilmemiştir. Aşağıdaki ayar ve kod bilgisi olgusaldır, fakat akıştaki tam davranışı IDE'de doğrulamanız önerilir. TODO: doğrulanacak.
Ayarlar
Akış Devam Ettirici, hangi nesnenin hangi olayla sürdürüleceğini şu değerlerle belirler:
| Ayar | Açıklama |
|---|---|
ObjectName | Sürdürülecek hedef nesnenin adı. |
EventId | Hedef nesnede tetiklenecek olayın kimliği (event id). |
ProcessId | İşlemin (sürecin) kimliği. |
Akıştaki yeri
Akış Devam Ettirici, akışın gövdesinde yer alan bir adımdır: çalıştığında, adı verilen hedef nesnede ilgili olayı tetikler ve o nesnenin beklemesini sonlandırır. Kendisi onay toplayan bir bekleme noktası değildir; başka bir yerde bekleyen nesneyi devam ettirmek için araya girer.
Kod örnekleri
Hedef nesne, olay ve süreç kimlikleri kod tarafından atanır. Sunucu (akış) kodu turuncu çerçevelidir.
Hedef nesne ve olayı belirleme
// Sürdürülecek hedef nesnenin adı
p_AkisDevamEttirici.SetObjectName("p_Mudur");
// Tetiklenecek olayın kimliği
p_AkisDevamEttirici.SetEventId("1");
// Süreç (process) kimliği
p_AkisDevamEttirici.SetProcessId("12345");
Execute metodu bir Context, proje adı ve akış adı bekler. Çağrı kalıbı kaynaklarda örnekle doğrulanmadığından, gerçek imzayı ve kullanımını IDE'de teyit edin. TODO: doğrulanacak.
İpuçları
SetObjectNameile verdiğiniz ad, akıştaki hedef nesnenin adıyla birebir aynı olmalıdır.EventIdveProcessIdmetotlarıstringparametre alır; ancak okuma tarafındaGetEventId()Int32,GetProcessId()Int64döndürür. Değerleri buna göre yorumlayın.- Varsayılan değerlere dönmek için
SetDefault()kullanılabilir. - Bir adımı sürdürmek yerine sonlandırmak istiyorsanız Akış Durdurucu nesnesini değerlendirin.
Doğrulanmış kod arayüzü (FlowContinue)
Tip: FlowObjectDesigner<FlowContinueProperties>
Özellikler (salt okunur): EventId (Int32), ObjectName (String), ProcessId (Int64)
Metotlar: SetEventId(String), SetObjectName(String), SetProcessId(String), SetDefault(), Execute(Context, String projectName, String flowName) → Task, GetEventId() → Int32, GetObjectName() → String, GetProcessId() → Int64
Kaynak: synergy-csp references/flow-objects.md (FlowContinue, dump-only: kullanım kalıbı doğrulanmadı).