diff --git a/README.md b/README.md index 96e9459..4682cde 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,10 @@ # TemplateNETService +Template for windows service based on .net 8 with the following features: + - Log with Serilog + - Example to extract configuration settings from appsettings.json and safe in static class "Config" + - OnStart & OnStop functions (File: BaseWorker.cs) + - Batch files to install / delete service + - Example for an API-Endpoint: api/ping (File: ServiceController.cs) + + diff --git a/TemplateNETService/BaseWorker.cs b/TemplateNETService/BaseWorker.cs index 4a6483b..8e97844 100644 --- a/TemplateNETService/BaseWorker.cs +++ b/TemplateNETService/BaseWorker.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using TemplateNETService.Business; namespace TemplateNETService { @@ -12,7 +13,7 @@ namespace TemplateNETService { protected override async Task ExecuteAsync(CancellationToken stoppingToken) { - Log.Debug("Der Service wurde gestartet."); + Log.Debug($"Service is started on port {Config.general.ThisPort}..."); while (!stoppingToken.IsCancellationRequested) { @@ -23,7 +24,7 @@ namespace TemplateNETService public override async Task StopAsync(CancellationToken cancellationToken) { - Log.Debug("Der Service wird gestoppt."); + Log.Debug("Service stopped..."); } } } diff --git a/TemplateNETService/Controllers/ServiceController.cs b/TemplateNETService/Controllers/ServiceController.cs new file mode 100644 index 0000000..ca8d81b --- /dev/null +++ b/TemplateNETService/Controllers/ServiceController.cs @@ -0,0 +1,16 @@ +using Microsoft.AspNetCore.Mvc; + +namespace TemplateNETService.Controllers +{ + [ApiController] + [Route("api")] + public class ServiceController : ControllerBase + { + [HttpGet] + [Route("ping")] + public IActionResult GetStatus() + { + return Ok(); + } + } +}