📄 timer.cs
字号:
using System;
using System.Threading;
using System.Workflow.Runtime;
using System.Collections.Generic;
using System.Workflow.ComponentModel;
namespace EssentialWF.Services {
public sealed class TimerService {
WorkflowRuntime runtime;
Dictionary<Guid, Timer> timers = new Dictionary<Guid, Timer>();
public TimerService(WorkflowRuntime runtime) {
this.runtime = runtime;
}
public void SetTimer(TimeSpan duration, Guid timerId, Guid workflowInstanceId) {
Timer timer = new Timer(delegate(object o) {
WorkflowInstance instance = this.runtime.GetWorkflow(workflowInstanceId);
instance.EnqueueItem(timerId, null, null, null);
}, timerId, duration, new TimeSpan(Timeout.Infinite));
this.timers.Add(timerId, timer);
}
public void CancelTimer(Guid timerId) {
((IDisposable)this.timers[timerId]).Dispose();
this.timers.Remove(timerId);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -