⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 timer.cs

📁 WF本质论一书的源码,要书籍的朋友同我联系.
💻 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 + -