Machen Sie einen Statusendpunkt von einem C#-Windows-Dienst verfügbarC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Machen Sie einen Statusendpunkt von einem C#-Windows-Dienst verfügbar

Post by Anonymous »

Ich erstelle einen Windows-Dienst in .NET 8.
Ungefähr jede Minute erzeugt er ein paar lange laufende Arbeitsthreads.
Ich kann den Status der Threads und ausstehenden Jobs erfassen.
Ich habe mich gefragt, ob es möglich ist, einen http-Endpunkt verfügbar zu machen, um diesen Status einem Endbenutzer anzuzeigen, und wie würde man das machen?
Program.cs

Code: Select all

    public static void Main(string[] args)
{
var builder = Host.CreateApplicationBuilder(args);
var services = builder.Services;

var configuration = builder.Configuration;
// configuration setup

services.AddLogging();
services.AddHttpClient().RemoveAll();

// service registration

builder.Services.AddHostedService();

// Build and configure the app
var app = builder.Build();

app.Run();
}
Worker.cs Async-Funktion ausführen

Code: Select all

protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{

while (!stoppingToken.IsCancellationRequested)
{
// Do stuff...

var delayMs = _options.PollingIntervalSeconds * 1000;
try
{
await Task.Delay(delayMs, stoppingToken);
}
catch (OperationCanceledException)
{
// Expected during shutdown
break;
}
}

}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post