我在 .NET Core Worker Service 中遇到了一些依赖注入问题。请参阅Program.cs文件中的以下代码。
public static void Main(string[] args)
{
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.MinimumLevel.Override("Microsof)t", LogEventLevel.Warning)
.Enrich.FromLogContext()
.WriteTo.File(@"C:\MyApp_Log\Log.txt")
.CreateLogger();
try
{
Log.Information("Starting up the service.");
CreateHostBuilder(args).Build().Run();
return;
}
catch (Exception ex)
{
Log.Fatal(ex, "There was a problem starting the service");
return;
}
finally
{
Log.CloseAndFlush();
}
}
public static IHostBuilder CreateHostBuilder(string[] args)
{
return Host.CreateDefaultBuilder(args)
.UseWindowsService()
.ConfigureServices((hostContext, services) =>
{
services.AddScoped<IMyAppCoreService, MyAppCoreService>();
services.AddDbContext<MyAppCSContext>(options => options.UseSqlServer("Data Source=xx.xxx.xx.xxx;Database=Mydb;User ID = sa;Password=mypassword"));
services.AddHostedService<Worker>();
})
.UseSerilog();
}
Run Code Online (Sandbox Code Playgroud)
请参阅下面的Worker.cs …