我在 .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)