我的自定義活動有一個延遲,需要在不同的時間設置不同的值。第一次設置時,可能是5秒。第二次,可能是10秒,依此類推。如何做到這一點...延遲沒有一個ActivityContext lambda,這將允許我得到一個工作流變量。用不同的時間更改DelayActivity的持續時間
0
A
回答
0
持續時間是TimeSpan表達式。只需輸入一個能夠產生正確時間的公式。類似於TimeSpan.FromSeconds(5 * loopCounter)
1
如果您的活動來自NativeActivity,則在CacheMetadata期間將私有變量作爲ImplementationVariable添加,並在您通過活動循環時進行設置。喜歡的東西:
public class RetryTest : NativeActivity
{
private Variable<int> count = new Variable<int>("Count", 1);
private Variable<TimeSpan> delayInterval = new Variable<TimeSpan>("DelayInterval", TimeSpan.FromSeconds(5));
private Delay delay = new Delay();
protected override void CacheMetadata(NativeActivityMetadata metadata)
{
metadata.AddImplementationVariable(count);
metadata.AddImplementationVariable(delayInterval);
delay.Duration = new InArgument<TimeSpan>(delayInterval);
metadata.AddImplementationChild(delay);
}
protected override void Execute(NativeActivityContext context)
{
Console.WriteLine("{0} - Execute", DateTime.Now.ToLongTimeString());
count.Set(context, count.Get(context) + 1);
context.ScheduleActivity(delay, OnDelayComplete);
}
private void OnDelayComplete(NativeActivityContext context, ActivityInstance completedInstance)
{
Console.WriteLine("{0} - DelayComplete", DateTime.Now.ToLongTimeString());
if (count.Get(context) < 3)
{
delayInterval.Set(context, TimeSpan.FromSeconds(delayInterval.Get(context).Seconds * count.Get(context)));
context.ScheduleActivity(delay, OnDelayComplete);
}
count.Set(context, count.Get(context) + 1);
}
}
這應該輸出
8:49:26 a.m. - Execute
8:49:31 a.m. - DelayComplete
8:49:41 a.m. - DelayComplete
0
那麼,使用 「TimeSpan.FromSeconds(5 *循環計數器)」 就像莫里斯說,然後添加從工具箱的ASIGN活動,並設置循環計數器= loopCounter + 5 ...
相關問題
- 1. Mysql顯示不同的持續時間
- 2. 更改動畫持續時間
- 3. AVAudioPlayer持續時間改變
- 4. WSS4JOutInterceptor時間戳:如何更改到期持續時間?
- 5. FFMPEG不改變持續時間
- 6. 如何提取只包含持續時間的持續時間?
- 7. 「持續時間($持續時間)」的「XPath無效」錯誤
- 8. 如何更改動態/運行時AnimationDrawable的持續時間?
- 9. 蟒持續時間
- 10. JSESSIONID持續時間
- 11. Groovy持續時間
- 12. Groovy的持續時間
- 13. 店持續時間的Teradata
- 14. jquery panzoom的持續時間
- 15. 如何用count SwiftKit更改運動的持續時間?
- 16. sp持續時間不等於sql profiler中語句持續時間的總和
- 17. CABasicAnimation在旋轉期間更改持續時間/速度
- 18. 數據時間格式(持續時間)
- 19. Google時間軸圖表持續時間
- 20. SqlCommand.ExecuteReader持續時間小於SQL Profiler批處理持續時間
- 21. 用戶單擊按鈕時,如何更改定時器的KeyFrame持續時間?
- 22. 的持續時間或間隔
- 23. 任何更改UITcrollView的zoomToRect持續時間的方法?
- 24. 計算一列中的時間戳之間的持續時間
- 25. iOS:+ [UIView animateWithDuration:]不利用持續時間
- 26. CATransaction持續時間不起作用
- 27. CAAnimation持續時間不適用
- 28. 使用javascript的數字時間到可讀的持續時間
- 29. IAP自動續期的持續時間
- 30. 如何比較新的持續時間與存儲的持續時間,並用兩個較短的更換?