Migrated the legacy VB.NET Windows Service to a modern C# Worker Service targeting .NET Framework 4.6.2. Key changes include: - Added `Microsoft.Extensions.Hosting.WindowsServices`, `NLog`, and `Quartz` for logging and scheduling. - Introduced `LogConfigFactory` to bridge `ServiceConfig` and `LogConfig` for Quartz jobs. - Rewrote `Worker` to handle the full service lifecycle, including database connection, temp file management, and scheduler initialization. - Implemented `SchedulerFinishEnvelope` and `SchedulerEnvelopeTaskApi` for Quartz job scheduling. - Created `TempFiles` for service-level temp file management. - Configured `NLog` for file and console logging. - Updated `appsettings.json` for connection strings and service-specific configuration. - Replaced legacy `ProjectInstaller` with `AddWindowsService()` for SCM integration.
15 lines
519 B
C#
15 lines
519 B
C#
using EnvelopeGenerator.CommonServices.Jobs.FinalizeDocument;
|
|
|
|
namespace EnvelopeGenerator.Service;
|
|
|
|
/// <summary>
|
|
/// Service-level configuration bound from the "ServiceConfig" section of appsettings.json.
|
|
/// Connection string is read separately via the standard "ConnectionStrings:Default" key.
|
|
/// </summary>
|
|
public class ServiceConfig
|
|
{
|
|
public bool Debug { get; set; } = false;
|
|
public int IntervalInMin { get; set; } = 1;
|
|
public PDFBurnerParams PDFBurnerParams { get; set; } = new PDFBurnerParams();
|
|
}
|