From d50232b0bb81c8884fedc2f1cdd3f3a32e9053ff Mon Sep 17 00:00:00 2001 From: TekH Date: Sun, 12 Jul 2026 00:23:59 +0200 Subject: [PATCH] feat: Add Windows Service hosting support - Add Microsoft.Extensions.Hosting.WindowsServices package - Add HostingOptions:UseWindowsService configuration flag to appsettings.json - Configure Program.cs to optionally run as Windows Service based on config - IIS hosting continues to work by default (UseWindowsService=false) - Delete obsolete Worker.cs that was conflicting with ProfileManager --- ECMJobRunner.WebCron/ECMJobRunner.WebCron.csproj | 1 + ECMJobRunner.WebCron/Program.cs | 6 ++++++ ECMJobRunner.WebCron/appsettings.json | 3 +++ 3 files changed, 10 insertions(+) diff --git a/ECMJobRunner.WebCron/ECMJobRunner.WebCron.csproj b/ECMJobRunner.WebCron/ECMJobRunner.WebCron.csproj index 3c386f4..271364e 100644 --- a/ECMJobRunner.WebCron/ECMJobRunner.WebCron.csproj +++ b/ECMJobRunner.WebCron/ECMJobRunner.WebCron.csproj @@ -12,6 +12,7 @@ + diff --git a/ECMJobRunner.WebCron/Program.cs b/ECMJobRunner.WebCron/Program.cs index a718986..6e9490b 100644 --- a/ECMJobRunner.WebCron/Program.cs +++ b/ECMJobRunner.WebCron/Program.cs @@ -7,6 +7,12 @@ using Microsoft.Data.SqlClient; var builder = WebApplication.CreateBuilder(args); +// Configure Windows Service hosting if enabled +if (builder.Configuration.GetValue("HostingOptions:UseWindowsService")) +{ + builder.Host.UseWindowsService(); +} + // Add services to the container. builder.Services.AddControllers(); builder.Services.AddHostedService(); diff --git a/ECMJobRunner.WebCron/appsettings.json b/ECMJobRunner.WebCron/appsettings.json index c0565e2..97662c5 100644 --- a/ECMJobRunner.WebCron/appsettings.json +++ b/ECMJobRunner.WebCron/appsettings.json @@ -9,6 +9,9 @@ "SDD-VMP04-SQL17": "Server=SDD-VMP04-SQL17\\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=dd;Encrypt=false;TrustServerCertificate=True;" }, "AllowedHosts": "*", + "HostingOptions": { + "UseWindowsService": false + }, "Hangfire": { "InMemory": true },