小编Sam*_*r.B的帖子

如何在 .net core 3.0 中执行一次工作服务?

我在 .net core 3.0 中使用了 service worker 模板。如果我的参数“ExecuteOnce”在 appsettings.json 中设置为 true,我想要做的是只执行一次该服务。

程序.cs:

public class Program
    {
        public static IServiceProvider Services { get; set; }
        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureAppConfiguration((hostContext, config) =>
                {
                    if (hostContext.HostingEnvironment.IsProduction())
                        config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
                    else
                        config.AddJsonFile("appsettings.Development.json", optional: true, reloadOnChange: true);

                    config.SetBasePath(Directory.GetCurrentDirectory());
                })
                .ConfigureServices((hostContext, services) =>
                {
                    services.AddHostedService<Worker>();
                });
        public static void Main(string[] args)
        {
                CreateHostBuilder(args).Build().Run();
        }
    }
Run Code Online (Sandbox Code Playgroud)

工人.cs:

public class Worker : BackgroundService
    {
        private readonly IConfiguration _configuration;
        public Worker(ILogger<Worker> logger, IConfiguration …
Run Code Online (Sandbox Code Playgroud)

c# background-service .net-core .net-core-3.0

2
推荐指数
1
解决办法
1133
查看次数

标签 统计

.net-core ×1

.net-core-3.0 ×1

background-service ×1

c# ×1