Primera versión estable compatible con linux de WSAsegasa

This commit is contained in:
2025-11-20 16:34:14 +01:00
parent 68ab86be9e
commit 574a139e78
209 changed files with 19093 additions and 16 deletions

View File

@@ -1,7 +1,55 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging.Configuration;
using Microsoft.Extensions.Logging.EventLog;
using Serilog;
using System.IO;
using System.Reflection;
using WSAsegasa;
var builder = Host.CreateApplicationBuilder(args);
builder.Services.AddHostedService<Worker>();
var host = builder.Build();
host.Run();
public class Program
{
public static void Main(string[] args)
{
Serilog.Debugging.SelfLog.Enable(msg => Console.Error.WriteLine(msg));
bdAsegasa.db.Utilidades.VersionPrograma = tsUtilidades.Utilidades.ExtraeValorCadena(Assembly.GetExecutingAssembly().FullName, "Version");
// Configura Serilog antes de construir el host
string path = "";
if (OperatingSystem.IsWindows())
{
path = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + @"\WSAsegasa\WSAsegasa.log";
}
else
{
path = @"/var/log/WSAsegasa/WSAsegasa.log";
}
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Information()
.WriteTo.File(path, rollingInterval: RollingInterval.Day)
.CreateLogger();
var host = CreateHostBuilder(args).Build();
host.Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureServices((hostContext, services) =>
{
IConfiguration configuration = hostContext.Configuration;
Configuracion options = configuration.GetSection("Configuracion").Get<Configuracion>();
services.AddSingleton(options);
// Solo registrar WindowsService si estamos en Windows
if (OperatingSystem.IsWindows())
{
services.AddWindowsService(config =>
{
config.ServiceName = "WSAsegasa";
});
}
services.AddHostedService<Worker>();
});
}