From 61898f1ef17e961b248422454436fccec73a2c6c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 11 Mar 2026 07:07:54 +0000 Subject: [PATCH] Add Windows Service support to the MassTransit Connector host Co-authored-by: danielmarbach <174258+danielmarbach@users.noreply.github.com> --- .../Commands/StartupCommand.cs | 6 +++++- .../ServiceControl.Connector.MassTransit.Host.csproj | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/ServiceControl.Connector.MassTransit.Host/Commands/StartupCommand.cs b/src/ServiceControl.Connector.MassTransit.Host/Commands/StartupCommand.cs index 90ad40b..741f7db 100644 --- a/src/ServiceControl.Connector.MassTransit.Host/Commands/StartupCommand.cs +++ b/src/ServiceControl.Connector.MassTransit.Host/Commands/StartupCommand.cs @@ -3,6 +3,7 @@ namespace ServiceControl.Connector.MassTransit.Host.Commands; using System.CommandLine; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Hosting.WindowsServices; using Microsoft.Extensions.Logging; using NServiceBus.Extensions.Logging; using ServiceControl.Connector.MassTransit; @@ -43,6 +44,9 @@ async Task InternalHandler(RunMode runMode, bool isConsole, string[] connec var builder = Host.CreateApplicationBuilder(connectorArgs); builder.UseMassTransitConnector(runMode == RunMode.Setup); + // Registers WindowsServiceLifetime and EventLog logging when running as a Windows Service; no-op otherwise. + builder.Services.AddWindowsService(); + if (isConsole) { builder.Logging.AddSimpleConsole(o => @@ -51,7 +55,7 @@ async Task InternalHandler(RunMode runMode, bool isConsole, string[] connec o.IncludeScopes = true; }); } - else + else if (!WindowsServiceHelpers.IsWindowsService()) { builder.Logging.AddSystemdConsole(); } diff --git a/src/ServiceControl.Connector.MassTransit.Host/ServiceControl.Connector.MassTransit.Host.csproj b/src/ServiceControl.Connector.MassTransit.Host/ServiceControl.Connector.MassTransit.Host.csproj index d4999f6..856ffdf 100644 --- a/src/ServiceControl.Connector.MassTransit.Host/ServiceControl.Connector.MassTransit.Host.csproj +++ b/src/ServiceControl.Connector.MassTransit.Host/ServiceControl.Connector.MassTransit.Host.csproj @@ -15,6 +15,7 @@ +