Ana içeriğe geç

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.

uyarı

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:

AyarAçıklama
ObjectNameSürdürülecek hedef nesnenin adı.
EventIdHedef 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");
not

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ı

  • SetObjectName ile verdiğiniz ad, akıştaki hedef nesnenin adıyla birebir aynı olmalıdır.
  • EventId ve ProcessId metotları string parametre alır; ancak okuma tarafında GetEventId() Int32, GetProcessId() Int64 dö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ı).