zeroframework/Services/DeviceCenter/ZeroFramework.DeviceCenter.API/Program.cs
2023-12-05 17:22:48 +08:00

36 lines
825 B
C#

using NLog;
using NLog.Web;
var logger = LogManager.Setup().LoadConfigurationFromAppSettings().GetCurrentClassLogger();
try
{
var builder = WebApplication.CreateBuilder(args);
builder.Host.UseNLog();
// Add services to the container.
var startup = new ZeroFramework.DeviceCenter.API.Startup(builder.Configuration);
startup.ConfigureServices(builder.Services);
var app = builder.Build();
// Configure the HTTP request pipeline.
startup.Configure(app, app.Environment);
app.Run();
}
catch (Exception exception)
{
// NLog: catch setup errors
logger.Error(exception, "Stopped program because of exception");
throw;
}
finally
{
// Ensure to flush and stop internal timers/threads before application-exit (Avoid segmentation fault on Linux)
LogManager.Shutdown();
}