28 lines
900 B
C#
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();
|