当PC从睡眠中醒来时,计时器会发生什么?

本文关键字:什么 计时器 PC 睡眠中 醒来 | 更新日期: 2023-09-27 18:06:35

我有一个用于Office应用程序的COM插件,它每30分钟在后台使用

执行一次操作。
System.Timers.Timer

这个后台操作通过互联网连接执行用户身份验证,我从一些用户那里得到报告,当他们的电脑从睡眠中醒来时,身份验证失败。我自己无法复制这种行为,所以我的理论是,当PC唤醒时,后台操作在与互联网的连接恢复之前执行(推测,当PC进入睡眠状态时,连接被Windows关闭)。

一般来说,如果PC在一段时间不活动后进入睡眠状态,那么当PC醒来时会发生什么(根据Timers)?例如,Timer在休眠时暂停,然后在PC唤醒时以其设置的间隔恢复(例如,如果Timer在PC休眠时进入间隔10分钟,Timer.Elapsed事件直到PC唤醒后20分钟才会触发)?Timer.Elapsed事件是否排队,以便在PC唤醒时立即触发?当PC进入睡眠状态时,Windows停止Timer吗?或者,Timer在PC休眠时继续运行,但由于Internet连接断开(可能),后台操作无法执行用户身份验证?

当PC从睡眠中醒来时,计时器会发生什么?

    static void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
    {
        Console.WriteLine(String.Format("{0}:{1}:{2} : Timer fired",
            DateTime.Now.ToLocalTime().Hour,
            "Execute:" + DateTime.Now.ToLocalTime().Minute,
            DateTime.Now.ToLocalTime().Second));
    }

当触发此事件时,您将知道开始时间,当您想要执行时间时,只需存储在您管理执行时间的地方。如果你的电脑进入睡眠或休眠状态,并在执行时间之前重新启动你的电脑,那么你可以检查你的最后一次执行时间,可以执行