40 lines
1.3 KiB
C#
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();
|
|
}
|
|
}
|
|
}
|