Files
lux/Lux.API/Program.cs
T

56 lines
1.6 KiB
C#

using EgwMultiEngineManager;
using Lux.Data.Services;
using NLog;
using NLog.Web;
var builder = WebApplication.CreateBuilder(args);
var logger = LogManager.Setup()
.LoadConfigurationFromAppSettings()
.GetCurrentClassLogger();
ConfigurationManager configuration = builder.Configuration;
logger.Info("Program.cs: startup");
bool enableEgwEng = configuration.GetValue<bool>("ServerConf:EgwEngineEnab");
// Add services to the container.
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
// solo se abilitato da conf
if (enableEgwEng)
{
// aggiungo rif libreria EgwManager
string sCamExePath = @"c:\EgtProg\EgtEngine\EgtEngineR32.exe";
string sMainLuaPath = @"c:\Temp\EgwMultiEngineManager\Pipe.lua";
ExecProcessManager myExecProcessManager = new ExecProcessManager(sCamExePath, sMainLuaPath, 1, ExecProcessManager.ReturnModes.EVENT_);
builder.Services.AddSingleton<ExecProcessManager>(myExecProcessManager);
}
builder.Services.AddSingleton<ImageCacheService>();
var app = builder.Build();
// aggiunt base URL x routing corretto
string baseUrl = configuration.GetValue<string>("ServerConf:BaseUrl") ?? "";
app.UsePathBase(baseUrl);
logger.Info($"BaseUrl: {baseUrl}");
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment() || app.Environment.IsStaging())
{
app.UseSwagger();
app.UseSwaggerUI();
}
app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();
app.Run();