Предоставьте конечную точку состояния из службы 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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