您如何正确地从睡眠状态恢复 .NET Windows 程序?

时间:2021-07-07 18:59:08

标签: c# .net windows .net-5

我编写了一个简单的 .NET 5.0 可执行文件,它在循环中执行。一切正常,但每当 Windows 进入睡眠状态并恢复时,程序的循环执行就会停止。有谁知道如何正确处理这样的情况?这很简单

public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .UseWindowsService()
            .ConfigureServices((hostContext, services) =>
            {
                services.AddHostedService<Worker>();
            });
}

然后在 Worker.cs 中,我将其作为 ExecuteAsync 方法。

    protected override async Task ExecuteAsync(CancellationToken stoppingToken)
    {
        while (!stoppingToken.IsCancellationRequested)
        {
            _logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
            CheckChangedClipboard();
            await Task.Delay(5000, stoppingToken);
        }
    }

0 个答案:

没有答案