Utopia-Canteen-System/UtopiaCanteen.BackendService/Program.cs

28 lines
900 B
C#

using Microsoft.EntityFrameworkCore;
using UtopiaCanteen.BackendService;
using UtopiaCanteenSystem.Data;
using UtopiaCanteenSystem.Services;
using UtopiaCanteenSystem.Services.Logging;
DatabasePath.UseBackendServiceStorage();
var builder = Host.CreateApplicationBuilder(args);
var logsDirectory = builder.Configuration["LogsDirectory"];
if (!string.IsNullOrWhiteSpace(logsDirectory))
LogPaths.SetBackendLogsDirectory(logsDirectory);
FileLogger.ConfigureBackend();
builder.Logging.ClearProviders();
builder.Logging.AddProvider(new FileLoggerProvider());
builder.Services.AddWindowsService(options =>
{
options.ServiceName = "UtopiaCanteenBackend";
});
builder.Services.AddSingleton<IConfigService, BackendHostConfigService>();
builder.Services.AddSingleton<DbContextFactory>();
builder.Services.AddHostedService<CanteenBackendWorker>();
var host = builder.Build();
await host.RunAsync();