我的自定义活动有一个延迟,需要在不同的时间设置不同的值。第一次设置时,可能是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. 如何比较新的持续时间与存储的持续时间,并用两个较短的更换?