CarTrackingRuleEngine/RuleEngine/Program.cs

40 lines
1.3 KiB
C#

using Microsoft.EntityFrameworkCore;
using RuleEngine.Database;
using RuleEngine.Interfaces;
using RuleEngine.Services;
using Serilog;
namespace RuleEngine
{
public class Program
{
public static void Main(string[] args)
{
var builder = Host.CreateApplicationBuilder(args);
// Cấu hình Serilog từ appsettings.json
Log.Logger = new LoggerConfiguration()
.ReadFrom.Configuration(builder.Configuration)
.CreateLogger();
// Gắn Serilog vào hệ thống logging
builder.Logging.ClearProviders();
builder.Logging.AddSerilog(Log.Logger);
//Config cau hinh SqlServerConnection
builder.Services.AddDbContextFactory<DatabaseContext>(options =>
{
options.UseSqlServer(builder.Configuration.GetConnectionString("RuleEngineConnectStr"));
}
);
// Thêm Rule Engine vào Background Service
builder.Services.AddHostedService<RuleEngineWorker>();
// Thêm các service hỗ trợ Rule Engine
builder.Services.AddScoped<IDeviceService, DeviceService>();
var host = builder.Build();
host.Run();
}
}
}