Предоставьте конечную точку состояния из службы C# Windows.C#

Место общения программистов C#
Anonymous
Предоставьте конечную точку состояния из службы C# Windows.

Сообщение Anonymous »

Я создаю службу Windows в .NET 8.
Примерно каждую минуту она порождает несколько долго работающих рабочих потоков.
Я могу фиксировать состояние потоков и ожидающих заданий.
Мне интересно, можно ли предоставить конечную точку http для отображения этого статуса обратно конечному пользователю, и как это сделать?
Program.cs
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 Выполнение асинхронной функции
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;
}
}

}


Подробнее здесь: https://stackoverflow.com/questions/798 ... ws-service

Вернуться в «C#»