我的自定義活動有一個延遲,需要在不同的時間設置不同的值。第一次設置時,可能是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. UIPageViewController更改持續時間
- 2. 更改sublayer.show()的持續時間()
- 3. Mysql顯示不同的持續時間
- 4. setInterval具有不同的持續時間
- 5. 更改ToolTipText顯示持續時間
- 6. 更改動畫持續時間
- 7. AVAudioPlayer持續時間改變
- 8. 時間片持續時間
- 9. 更新moment.js持續時間
- 10. 持續時間
- 11. WSS4JOutInterceptor時間戳:如何更改到期持續時間?
- 12. 上willAnimateRotationToInterfaceOrientation不應答:(UIInterfaceOrientation)toInterfaceOrientation持續時間:(NSTimeInterval)持續時間
- 13. FFMPEG不改變持續時間
- 14. 「持續時間($持續時間)」的「XPath無效」錯誤
- 15. 如何提取只包含持續時間的持續時間?
- 16. 如何更改動態/運行時AnimationDrawable的持續時間?
- 17. iOS:使用animateTransition方法時無法更改持續時間
- 18. 如何比較兩個不同TimeStamp之間的持續時間
- 19. Scrollmagic持續時間
- 20. JSESSIONID持續時間
- 21. 持續時間爲
- 22. 蟒持續時間
- 23. UIStatusBarAnimationFade持續時間
- 24. VideoView持續時間
- 25. Groovy持續時間
- 26. Groovy的持續時間
- 27. 店持續時間的Teradata
- 28. jquery panzoom的持續時間
- 29. 使用插件更改字體的打印持續時間
- 30. 如何用count SwiftKit更改運動的持續時間?